; [ Animation Script $00E9: W Wind (bg1) ] D0/0000: 00 20 speed 1, align to center of character/monster D0/0002: C9 00 play default sound effect D0/0004: D1 01 invalidate character/monster sprite priority D0/0006: CC FF set bg1 animation palette color subtraction to 31 (black) D0/0008: AD 08 set bg1 hdma scroll type to 8 D0/000A: 00 [$00] D0/000B: BD A0 hide bg1 thread D0/000D: 85 move to attacker position D0/000E: 83 DF move up 32 D0/0010: 83 DF move up 32 D0/0012: D2 64 60 set vector target to (100,96) D0/0015: 95 calculate vector from attacker to target D0/0016: 93 00 move to vector position 0 D0/0018: 80 06 clear tornado data D0/001A: 80 07 move tornado to thread position D0/001C: 83 FF move up/back 32 D0/001E: 83 FF move up/back 32 D0/0020: 83 FF move up/back 32 D0/0022: 83 FF move up/back 32 D0/0024: 89 10 loop start (16 times) D0/0026: 83 01 move down/forward 2 D0/0028: DA 02 01 move tornado sinusoidally with speed (+2,+1) D0/002B: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/002E: CF F2 decrease bg1 animation palette color subtraction by 2 (black) D0/0030: 80 09 update character/monster sprite tile priority for tornado D0/0032: 00 [$00] D0/0033: 80 08 move thread to vector position D0/0035: 8A loop end D0/0036: F7 A0 wait until scanline 160 D0/0038: D4 02 01 10 add (sprites) to (bg1) D0/003C: 89 2C loop start (44 times) D0/003E: 83 01 move down/forward 2 D0/0040: DA 02 01 move tornado sinusoidally with speed (+2,+1) D0/0043: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/0046: CF F2 decrease bg1 animation palette color subtraction by 2 (black) D0/0048: B4 F1 decrease bg3 animation palette color subtraction by 1 (black) D0/004A: 80 09 update character/monster sprite tile priority for tornado D0/004C: 00 [$00] D0/004D: 80 08 move thread to vector position D0/004F: 8A loop end D0/0050: 80 07 move tornado to thread position D0/0052: DA 02 01 move tornado sinusoidally with speed (+2,+1) D0/0055: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/0058: 80 09 update character/monster sprite tile priority for tornado D0/005A: 00 [$00] D0/005B: 92 01 0D move along vector at speed 1, branch to $0050 D0/005E: 89 60 loop start (96 times) D0/0060: DA 02 01 move tornado sinusoidally with speed (+2,+1) D0/0063: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/0066: 80 09 update character/monster sprite tile priority for tornado D0/0068: 00 [$00] D0/0069: 8A loop end D0/006A: F7 A0 wait until scanline 160 D0/006C: D4 02 01 12 add (sprites, bg2) to (bg1) D0/0070: 89 13 loop start (19 times) D0/0072: DA 02 01 move tornado sinusoidally with speed (+2,+1) D0/0075: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/0078: CF E2 increase bg1 animation palette color subtraction by 2 (black) D0/007A: 80 09 update character/monster sprite tile priority for tornado D0/007C: 00 [$00] D0/007D: 8A loop end D0/007E: AD 03 set bg1 hdma scroll type to 3 D0/0080: 80 06 clear tornado data D0/0082: FF end of script ; [ Animation Script $01A2: Goner (bg1) ] D0/0083: 00 20 speed 1, align to center of character/monster D0/0085: 80 8C 8F play sound effect $8F (pan center) D0/0088: AF E0 set background color subtraction to 0 (black) D0/008A: 89 1F loop start (31 times) D0/008C: B6 61 increase background color subtraction by 1 (red) D0/008E: 1F [---] D0/008F: 8A loop end D0/0090: 89 1F loop start (31 times) D0/0092: B6 31 decrease background color subtraction by 1 (yellow) D0/0094: 1F [---] D0/0095: 8A loop end D0/0096: 89 1F loop start (31 times) D0/0098: B6 81 increase background color subtraction by 1 (cyan) D0/009A: 1F [---] D0/009B: 8A loop end D0/009C: 80 8C 74 play sound effect $74 (pan center) D0/009F: 89 1F loop start (31 times) D0/00A1: B6 91 decrease background color subtraction by 1 (cyan) D0/00A3: B6 21 increase background color subtraction by 1 (yellow) D0/00A5: 1F [---] D0/00A6: 8A loop end D0/00A7: F7 A0 wait until scanline 160 D0/00A9: B9 60 set monster color subtraction to 0 (red) D0/00AB: 89 1F loop start (31 times) D0/00AD: BC 61 increase monster color subtraction by 1 (red) D0/00AF: 86 81 move attacker back 2 D0/00B1: 0F [$0F] D0/00B2: 86 61 move attacker forward 2 D0/00B4: 0F [$0F] D0/00B5: 86 81 move attacker back 2 D0/00B7: 0F [$0F] D0/00B8: 86 61 move attacker forward 2 D0/00BA: 0F [$0F] D0/00BB: 86 81 move attacker back 2 D0/00BD: 0F [$0F] D0/00BE: 86 61 move attacker forward 2 D0/00C0: 0F [$0F] D0/00C1: 8A loop end D0/00C2: 80 89 00 command $80/$89 D0/00C5: D0 20 set tile priority to 2 for all character/monster sprites D0/00C7: D1 01 invalidate character/monster sprite priority D0/00C9: C4 80 move bg1 thread to this thread's position D0/00CB: 80 26 01 disable character palette updates D0/00CE: 80 8C 00 play sound effect $00 (pan center) D0/00D1: F7 A0 wait until scanline 160 D0/00D3: B6 8F increase background color subtraction by 15 (cyan) D0/00D5: BC 8F increase monster color subtraction by 15 (cyan) D0/00D7: CD FF set bg1 animation palette color addition to 31 (white) D0/00D9: AB FF set bg3 animation palette color addition to 31 (white) D0/00DB: BA FF set monster color addition to 31 (white) D0/00DD: FC FF set character color addition to 31 (white) D0/00DF: B0 FF set background color addition to 31 (white) D0/00E1: AD 00 set bg1 hdma scroll type to 0 D0/00E3: 89 0F loop start (15 times) D0/00E5: CE F2 decrease bg1 animation palette color addition by 2 (white) D0/00E7: B3 F2 decrease bg3 animation palette color addition by 2 (white) D0/00E9: 80 56 command $80/$56 D0/00EB: 00 [$00] D0/00EC: BD A0 hide bg1 thread D0/00EE: 8A loop end D0/00EF: 89 2F loop start (47 times) D0/00F1: 80 56 command $80/$56 D0/00F3: 00 [$00] D0/00F4: 8A loop end D0/00F5: 80 57 CC enable bg3 in window 2 only D0/00F8: 80 45 3C enable bg1 in window 2 D0/00FB: A5 80 48 50 FF FF 40 00 init circle at (128,72) D0/0103: 89 03 loop start (3 times) D0/0105: A6 00 00 FC move circle (+0,+0) and shrink by 4 D0/0109: 80 56 command $80/$56 D0/010B: A7 update circle D0/010C: 00 [$00] D0/010D: 8A loop end D0/010E: 80 58 06 set circle shape to horizontal oval D0/0111: 89 03 loop start (3 times) D0/0113: A6 00 00 FC move circle (+0,+0) and shrink by 4 D0/0117: 80 56 command $80/$56 D0/0119: A7 update circle D0/011A: 00 [$00] D0/011B: 8A loop end D0/011C: 80 59 48 command $80/$59 D0/011F: 80 56 command $80/$56 D0/0121: 00 [$00] D0/0122: 80 59 4A command $80/$59 D0/0125: 80 56 command $80/$56 D0/0127: 00 [$00] D0/0128: 80 59 4C command $80/$59 D0/012B: 80 56 command $80/$56 D0/012D: 00 [$00] D0/012E: 80 59 48 command $80/$59 D0/0131: 80 56 command $80/$56 D0/0133: 00 [$00] D0/0134: 80 59 40 command $80/$59 D0/0137: 80 56 command $80/$56 D0/0139: 00 [$00] D0/013A: 80 59 38 command $80/$59 D0/013D: 80 56 command $80/$56 D0/013F: 00 [$00] D0/0140: 80 59 30 command $80/$59 D0/0143: 80 56 command $80/$56 D0/0145: 00 [$00] D0/0146: 80 59 28 command $80/$59 D0/0149: 80 56 command $80/$56 D0/014B: 00 [$00] D0/014C: 80 59 20 command $80/$59 D0/014F: 80 56 command $80/$56 D0/0151: 00 [$00] D0/0152: 80 59 18 command $80/$59 D0/0155: 80 56 command $80/$56 D0/0157: 00 [$00] D0/0158: 80 59 10 command $80/$59 D0/015B: 80 56 command $80/$56 D0/015D: 00 [$00] D0/015E: 80 59 08 command $80/$59 D0/0161: 80 56 command $80/$56 D0/0163: 00 [$00] D0/0164: 80 59 00 command $80/$59 D0/0167: 89 40 loop start (64 times) D0/0169: 80 56 command $80/$56 D0/016B: 00 [$00] D0/016C: 8A loop end D0/016D: BD 80 show bg1 thread D0/016F: 89 0F loop start (15 times) D0/0171: 0F [$0F] D0/0172: B5 F2 decrease background color addition by 2 (white) D0/0174: 0F [$0F] D0/0175: BB F2 decrease monster color addition by 2 (white) D0/0177: 0F [$0F] D0/0178: FD F2 decrease character color addition by 2 (white) D0/017A: 8A loop end D0/017B: F7 A0 wait until scanline 160 D0/017D: AD 03 set bg1 hdma scroll type to 3 D0/017F: 80 26 00 enable character palette updates D0/0182: C9 FF play sound effect $FF D0/0184: FF end of script ; [ Animation Script $01A3: Goner (bg3) ] D0/0185: 00 20 speed 1, align to center of character/monster D0/0187: C4 40 move bg3 thread to this thread's position D0/0189: 89 1F loop start (31 times) D0/018B: 09 [$09] D0/018C: 09 [$09] D0/018D: 09 [$09] D0/018E: 09 [$09] D0/018F: 09 [$09] D0/0190: 09 [$09] D0/0191: 09 [$09] D0/0192: 09 [$09] D0/0193: 09 [$09] D0/0194: 09 [$09] D0/0195: 8A loop end D0/0196: 84 03 set animation speed to 4 D0/0198: 8B 06 animated loop start (6 times, increment frame offset each time) D0/019A: 00 [$00] D0/019B: 8C animated loop end D0/019C: 8B 06 animated loop start (6 times, increment frame offset each time) D0/019E: 00 [$00] D0/019F: 8C animated loop end D0/01A0: 8B 06 animated loop start (6 times, increment frame offset each time) D0/01A2: 00 [$00] D0/01A3: 8C animated loop end D0/01A4: 84 01 set animation speed to 2 D0/01A6: 89 0C loop start (12 times) D0/01A8: 09 [$09] D0/01A9: 8A loop end D0/01AA: F7 A0 wait until scanline 160 D0/01AC: AD 87 set bg3 hdma scroll type to 7 D0/01AE: AC 21 48 set (bg3) hdma scroll data (amplitude 8, frequency 1, horizontal) D0/01B1: 89 20 loop start (32 times) D0/01B3: AE 41 update (bg3) hdma scroll data (horizontal) D0/01B5: 09 [$09] D0/01B6: 8A loop end D0/01B7: 89 1F loop start (31 times) D0/01B9: 83 87 move back 8 D0/01BB: AE 41 update (bg3) hdma scroll data (horizontal) D0/01BD: CE E1 increase bg1 animation palette color addition by 1 (white) D0/01BF: B3 E1 increase bg3 animation palette color addition by 1 (white) D0/01C1: 09 [$09] D0/01C2: 8A loop end D0/01C3: F7 A0 wait until scanline 160 D0/01C5: AD 85 set bg3 hdma scroll type to 5 D0/01C7: 80 24 clear bg3 hdma scroll data D0/01C9: FF end of script ; [ Animation Script $0288: Animation $0195 ] D0/01CA: 00 20 speed 1, align to center of character/monster D0/01CC: 85 move to attacker position D0/01CD: 80 0E command $80/$0E D0/01CF: 0F [$0F] D0/01D0: E4 command $E4 D0/01D1: 0F [$0F] D0/01D2: E2 command $E2 D0/01D3: 0C [$0C] D0/01D4: 03 [$03] D0/01D5: 0F [$0F] D0/01D6: E3 command $E3 D0/01D7: 08 [$08] D0/01D8: 03 [$03] D0/01D9: FF end of script ; [ Animation Script $0287: BabaBreath (sprite) ] D0/01DA: 00 20 speed 1, align to center of character/monster D0/01DC: 89 1F loop start (31 times) D0/01DE: 1F [---] D0/01DF: 8A loop end D0/01E0: 89 1F loop start (31 times) D0/01E2: 87 61 move target forward 2 D0/01E4: 1F [---] D0/01E5: 87 81 move target back 2 D0/01E7: 1F [---] D0/01E8: 8A loop end D0/01E9: 80 72 01 branch to $01ED if attack hit D0/01EC: FF end of script D0/01ED: 89 15 loop start (21 times) D0/01EF: 87 67 move target forward 8 D0/01F1: 1F [---] D0/01F2: 8A loop end D0/01F3: F1 00 hide target character sprite D0/01F5: FF end of script ; [ Animation Script $0286: Animation $0194 ] D0/01F6: 00 20 speed 1, align to center of character/monster D0/01F8: BF 67 70 jump to subroutine $7067 D0/01FB: 81 07 07 change attacker graphic to 7 (jumping) D0/01FE: 80 72 08 branch to $0209 if attack hit D0/0201: 89 1F loop start (31 times) D0/0203: 0F [$0F] D0/0204: 8A loop end D0/0205: 81 00 00 change attacker graphic to 0 (no action) D0/0208: FF end of script D0/0209: C9 FC play sound effect $FC D0/020B: 84 04 set animation speed to 5 D0/020D: 89 07 loop start (7 times) D0/020F: D5 01 flip target monster horizontally D0/0211: 0F [$0F] D0/0212: D5 01 flip target monster horizontally D0/0214: 0F [$0F] D0/0215: 8A loop end D0/0216: 81 00 00 change attacker graphic to 0 (no action) D0/0219: FF end of script ; [ Animation Script $0285: Super Ball (extra) ] D0/021A: 00 20 speed 1, align to center of character/monster D0/021C: BF 19 70 jump to subroutine $7019 D0/021F: 81 07 07 change attacker graphic to 7 (jumping) D0/0222: 89 40 loop start (64 times) D0/0224: 1F [---] D0/0225: 8A loop end D0/0226: 81 00 00 change attacker graphic to 0 (no action) D0/0229: BF 40 70 jump to subroutine $7040 D0/022C: FF end of script ; [ Animation Script $0284: Misc. Monster Animation $0D: Final KEFKA Death (bg1) ] D0/022D: 00 20 speed 1, align to center of character/monster D0/022F: D1 01 invalidate character/monster sprite priority D0/0231: C7 0B 81 E0 00 spc command $81, $E0, $00 D0/0236: 89 80 loop start (128 times) D0/0238: 0F [$0F] D0/0239: 8A loop end D0/023A: B0 FF set background color addition to 31 (white) D0/023C: C9 E3 play sound effect $E3 D0/023E: 89 07 loop start (7 times) D0/0240: B5 F4 decrease background color addition by 4 (white) D0/0242: 0F [$0F] D0/0243: 8A loop end D0/0244: 89 40 loop start (64 times) D0/0246: 0F [$0F] D0/0247: 8A loop end D0/0248: B0 FF set background color addition to 31 (white) D0/024A: C9 E3 play sound effect $E3 D0/024C: 89 07 loop start (7 times) D0/024E: B5 F4 decrease background color addition by 4 (white) D0/0250: 0F [$0F] D0/0251: 8A loop end D0/0252: 89 40 loop start (64 times) D0/0254: 0F [$0F] D0/0255: 8A loop end D0/0256: C9 A5 play sound effect $A5 D0/0258: 80 89 00 command $80/$89 D0/025B: AF 60 set background color subtraction to 0 (red) D0/025D: 89 0F loop start (15 times) D0/025F: B6 E1 increase background color subtraction by 1 (black) D0/0261: 0F [$0F] D0/0262: 0F [$0F] D0/0263: 0F [$0F] D0/0264: 0F [$0F] D0/0265: B6 61 increase background color subtraction by 1 (red) D0/0267: 0F [$0F] D0/0268: 0F [$0F] D0/0269: 0F [$0F] D0/026A: 0F [$0F] D0/026B: 8A loop end D0/026C: FF end of script ; [ Animation Script $0283: Misc. Monster Animation $0C: Monsters Glow Long (bg1) ] D0/026D: 00 20 speed 1, align to center of character/monster D0/026F: BD A0 hide bg1 thread D0/0271: C4 80 move bg1 thread to this thread's position D0/0273: CD E0 set bg1 animation palette color addition to 0 (white) D0/0275: 89 0E loop start (14 times) D0/0277: 0F [$0F] D0/0278: CE E1 increase bg1 animation palette color addition by 1 (white) D0/027A: 8A loop end D0/027B: 89 04 loop start (4 times) D0/027D: 0F [$0F] D0/027E: CE C1 increase bg1 animation palette color addition by 1 (yellow) D0/0280: 8A loop end D0/0281: 89 10 loop start (16 times) D0/0283: 0F [$0F] D0/0284: 8A loop end D0/0285: 89 04 loop start (4 times) D0/0287: 0F [$0F] D0/0288: CE D1 decrease bg1 animation palette color addition by 1 (yellow) D0/028A: 8A loop end D0/028B: 89 0E loop start (14 times) D0/028D: 0F [$0F] D0/028E: CE F1 decrease bg1 animation palette color addition by 1 (white) D0/0290: 8A loop end D0/0291: FF end of script ; [ Animation Script $0282: Misc. Monster Animation $0B: Monsters Glow Short (bg1) ] D0/0292: 00 20 speed 1, align to center of character/monster D0/0294: BD A0 hide bg1 thread D0/0296: C4 80 move bg1 thread to this thread's position D0/0298: BA E0 set monster color addition to 0 (white) D0/029A: 89 0A loop start (10 times) D0/029C: 0F [$0F] D0/029D: BB E1 increase monster color addition by 1 (white) D0/029F: 8A loop end D0/02A0: 89 04 loop start (4 times) D0/02A2: 0F [$0F] D0/02A3: BB C1 increase monster color addition by 1 (yellow) D0/02A5: 8A loop end D0/02A6: 89 04 loop start (4 times) D0/02A8: A3 D3 81 shift colors (13..16) of monster 1 palette left (8 loops per shift) D0/02AB: 0F [$0F] D0/02AC: 0F [$0F] D0/02AD: 0F [$0F] D0/02AE: 0F [$0F] D0/02AF: 0F [$0F] D0/02B0: 0F [$0F] D0/02B1: 8A loop end D0/02B2: 89 08 loop start (8 times) D0/02B4: A3 D3 81 shift colors (13..16) of monster 1 palette left (8 loops per shift) D0/02B7: 0F [$0F] D0/02B8: 0F [$0F] D0/02B9: 0F [$0F] D0/02BA: 0F [$0F] D0/02BB: 8A loop end D0/02BC: 89 0F loop start (15 times) D0/02BE: A3 D3 81 shift colors (13..16) of monster 1 palette left (8 loops per shift) D0/02C1: 0F [$0F] D0/02C2: 0F [$0F] D0/02C3: 8A loop end D0/02C4: 89 20 loop start (32 times) D0/02C6: A3 D3 81 shift colors (13..16) of monster 1 palette left (8 loops per shift) D0/02C9: 0F [$0F] D0/02CA: 8A loop end D0/02CB: 89 0F loop start (15 times) D0/02CD: A3 D3 81 shift colors (13..16) of monster 1 palette left (8 loops per shift) D0/02D0: 0F [$0F] D0/02D1: 0F [$0F] D0/02D2: 8A loop end D0/02D3: 89 08 loop start (8 times) D0/02D5: A3 D3 81 shift colors (13..16) of monster 1 palette left (8 loops per shift) D0/02D8: 0F [$0F] D0/02D9: 0F [$0F] D0/02DA: 0F [$0F] D0/02DB: 0F [$0F] D0/02DC: 0F [$0F] D0/02DD: 8A loop end D0/02DE: 89 04 loop start (4 times) D0/02E0: A3 D3 81 shift colors (13..16) of monster 1 palette left (8 loops per shift) D0/02E3: 0F [$0F] D0/02E4: 0F [$0F] D0/02E5: 0F [$0F] D0/02E6: 0F [$0F] D0/02E7: 0F [$0F] D0/02E8: 0F [$0F] D0/02E9: 8A loop end D0/02EA: 89 04 loop start (4 times) D0/02EC: 0F [$0F] D0/02ED: BB D1 decrease monster color addition by 1 (yellow) D0/02EF: 8A loop end D0/02F0: 89 0A loop start (10 times) D0/02F2: 0F [$0F] D0/02F3: BB F1 decrease monster color addition by 1 (white) D0/02F5: 8A loop end D0/02F6: FF end of script ; [ Animation Script $0281: Misc. Monster Animation $0A: Final KEFKA Disembodied Head (bg1) ] D0/02F7: 00 20 speed 1, align to center of character/monster D0/02F9: C4 80 move bg1 thread to this thread's position D0/02FB: D0 20 set tile priority to 2 for all character/monster sprites D0/02FD: 83 70 move forward 17 D0/02FF: 83 30 move down 17 D0/0301: 83 34 move down 21 D0/0303: CD FF set bg1 animation palette color addition to 31 (white) D0/0305: 89 1F loop start (31 times) D0/0307: CE F1 decrease bg1 animation palette color addition by 1 (white) D0/0309: 00 [$00] D0/030A: 8A loop end D0/030B: 80 89 01 command $80/$89 D0/030E: 89 40 loop start (64 times) D0/0310: 00 [$00] D0/0311: 8A loop end D0/0312: F7 A0 wait until scanline 160 D0/0314: D4 02 01 12 add (sprites, bg2) to (bg1) D0/0318: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/031A: 89 1F loop start (31 times) D0/031C: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/031E: 00 [$00] D0/031F: 8A loop end D0/0320: FF end of script ; [ Animation Script $0280: Monster Entry $0F: Final KEFKA (sprite) ] D0/0321: 00 20 speed 1, align to center of character/monster D0/0323: 9A set facing direction to match attacker D0/0324: D1 01 invalidate character/monster sprite priority D0/0326: 89 04 loop start (4 times) D0/0328: 87 DF move target up 32 D0/032A: 8A loop end D0/032B: 80 1A 01 command $80/$1A D0/032E: 89 9F loop start (159 times) D0/0330: 87 20 move target down 1 D0/0332: 1F [---] D0/0333: 1F [---] D0/0334: 1F [---] D0/0335: 1F [---] D0/0336: 8A loop end D0/0337: 89 40 loop start (64 times) D0/0339: 1F [---] D0/033A: 8A loop end D0/033B: C7 0B 10 50 FF spc command $10, $50, $FF D0/0340: FF end of script ; [ Animation Script $027F: Flash (bg1) ] D0/0341: 10 20 speed 2, align to center of character/monster D0/0343: C9 00 play default sound effect D0/0345: 00 [$00] D0/0346: 01 [$01] D0/0347: 02 [$02] D0/0348: 89 12 loop start (18 times) D0/034A: 03 [$03] D0/034B: 8A loop end D0/034C: FF end of script ; [ Animation Script $0240: ] D0/034D: 00 20 speed 1, align to center of character/monster D0/034F: 80 83 command $80/$83 D0/0351: 1F [---] D0/0352: 80 1A 01 command $80/$1A D0/0355: FF end of script ; [ Animation Script $0241: Monster Exit $0E: Chadarnook (bg1) ] D0/0356: 00 20 speed 1, align to center of character/monster D0/0358: C4 80 move bg1 thread to this thread's position D0/035A: D1 01 invalidate character/monster sprite priority D0/035C: BD A0 hide bg1 thread D0/035E: F7 A0 wait until scanline 160 D0/0360: D0 20 set tile priority to 2 for all character/monster sprites D0/0362: 80 84 command $80/$84 D0/0364: B9 FF set monster color subtraction to 31 (black) D0/0366: 80 85 01 command $80/$85 D0/0369: 0F [$0F] D0/036A: 0F [$0F] D0/036B: 0F [$0F] D0/036C: 80 85 00 command $80/$85 D0/036F: F7 A0 wait until scanline 160 D0/0371: D4 02 01 12 add (sprites, bg2) to (bg1) D0/0375: 89 1F loop start (31 times) D0/0377: BC F1 decrease monster color subtraction by 1 (black) D0/0379: 0F [$0F] D0/037A: 0F [$0F] D0/037B: 0F [$0F] D0/037C: 80 85 02 command $80/$85 D0/037F: 0F [$0F] D0/0380: 0F [$0F] D0/0381: 0F [$0F] D0/0382: 80 85 00 command $80/$85 D0/0385: 8A loop end D0/0386: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/0388: 89 1F loop start (31 times) D0/038A: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/038C: 0F [$0F] D0/038D: 0F [$0F] D0/038E: 0F [$0F] D0/038F: 80 85 02 command $80/$85 D0/0392: 0F [$0F] D0/0393: 0F [$0F] D0/0394: 0F [$0F] D0/0395: 80 85 00 command $80/$85 D0/0398: 8A loop end D0/0399: F7 A0 wait until scanline 160 D0/039B: 80 3E 12 enable (sprites, bg2) in main screen D0/039E: F1 80 hide target monster sprite D0/03A0: FF end of script ; [ Animation Script $027E: Unused (sprite) ] D0/03A1: 00 20 speed 1, align to center of character/monster D0/03A3: FF end of script ; [ Animation Script $011F: Atom Edge, True Edge (bg1) ] D0/03A4: 00 20 speed 1, align to center of character/monster D0/03A6: D1 01 invalidate character/monster sprite priority D0/03A8: BD A0 hide bg1 thread D0/03AA: C4 80 move bg1 thread to this thread's position D0/03AC: BF 16 55 jump to subroutine $5516 D0/03AF: BD A0 hide bg1 thread D0/03B1: 89 1F loop start (31 times) D0/03B3: 0F [$0F] D0/03B4: 8A loop end D0/03B5: C9 00 play default sound effect D0/03B7: 80 32 BD 03 C8 03 jump to $03BD (left) or $03C8 (right) D0/03BD: 80 42 00 disable bg1 mirroring (mode 7) D0/03C0: 89 04 loop start (4 times) D0/03C2: 83 9F move back 32 D0/03C4: 8A loop end D0/03C5: FA D0 03 jump to $03D0 D0/03C8: 80 42 01 mirror bg1 horizontal (mode 7) D0/03CB: 89 04 loop start (4 times) D0/03CD: 83 7F move forward 32 D0/03CF: 8A loop end D0/03D0: AF E0 set background color subtraction to 0 (black) D0/03D2: 80 3A 0F set gradient line intensity to 15 D0/03D5: F7 A0 wait until scanline 160 D0/03D7: D4 20 22 00 add fixed color to (back area, bg2) D0/03DB: 89 0E loop start (14 times) D0/03DD: B6 E1 increase background color subtraction by 1 (black) D0/03DF: 80 39 FF update blue gradient lines, increase intensity by 1 D0/03E2: 0F [$0F] D0/03E3: 8A loop end D0/03E4: 89 10 loop start (16 times) D0/03E6: B6 E1 increase background color subtraction by 1 (black) D0/03E8: 80 39 00 update blue gradient lines D0/03EB: 0F [$0F] D0/03EC: 8A loop end D0/03ED: 83 C4 move up 5 D0/03EF: 80 39 00 update blue gradient lines D0/03F2: 0F [$0F] D0/03F3: 80 41 00 00 60 00 zoom bg1 (0,0), move bg1 (96,0) D0/03F9: F7 A0 wait until scanline 160 D0/03FB: 80 3E 11 enable (sprites, bg1) in main screen D0/03FE: 80 40 07 set screen to mode 7 D0/0401: D0 30 set tile priority to 3 for all character/monster sprites D0/0403: F7 A0 wait until scanline 160 D0/0405: 89 0F loop start (15 times) D0/0407: 80 41 F8 F8 00 00 zoom bg1 (-8,-8), move bg1 (0,0) D0/040D: 80 39 00 update blue gradient lines D0/0410: 0F [$0F] D0/0411: 8A loop end D0/0412: D0 00 set tile priority to 0 for all character/monster sprites D0/0414: 89 0F loop start (15 times) D0/0416: 80 41 F8 F8 00 00 zoom bg1 (-8,-8), move bg1 (0,0) D0/041C: 80 39 00 update blue gradient lines D0/041F: 0F [$0F] D0/0420: 8A loop end D0/0421: D0 30 set tile priority to 3 for all character/monster sprites D0/0423: 80 39 00 update blue gradient lines D0/0426: 0F [$0F] D0/0427: F7 A0 wait until scanline 160 D0/0429: 80 3E 16 enable (sprites, bg3, bg2) in main screen D0/042C: 80 40 01 set screen to mode 1 D0/042F: BD 80 show bg1 thread D0/0431: 80 39 00 update blue gradient lines D0/0434: 0F [$0F] D0/0435: EA 81 set bg1 tile data quadrant to 1 D0/0437: 80 39 00 update blue gradient lines D0/043A: 0F [$0F] D0/043B: EA 82 set bg1 tile data quadrant to 2 D0/043D: 80 39 00 update blue gradient lines D0/0440: 0F [$0F] D0/0441: EA 83 set bg1 tile data quadrant to 3 D0/0443: 80 39 00 update blue gradient lines D0/0446: 0F [$0F] D0/0447: BD A0 hide bg1 thread D0/0449: 89 10 loop start (16 times) D0/044B: B6 F1 decrease background color subtraction by 1 (black) D0/044D: 80 39 00 update blue gradient lines D0/0450: 0F [$0F] D0/0451: 8A loop end D0/0452: 89 0E loop start (14 times) D0/0454: 80 39 01 update blue gradient lines, decrease intensity by 1 D0/0457: B6 F1 decrease background color subtraction by 1 (black) D0/0459: 0F [$0F] D0/045A: 8A loop end D0/045B: 80 37 clear fixed color value hdma data D0/045D: BF 49 55 jump to subroutine $5549 D0/0460: BF A0 2C jump to subroutine $2CA0 D0/0463: FF end of script ; [ Animation Script $027C: Misc. Monster Animation $08: Move Forward 64 (sprite) ] D0/0464: 00 20 speed 1, align to center of character/monster D0/0466: 87 7F move target forward 32 D0/0468: 87 7F move target forward 32 D0/046A: 1F [---] D0/046B: FF end of script ; [ Animation Script $027D: Misc. Monster Animation $07: Move Back 64 (sprite) ] D0/046C: 00 20 speed 1, align to center of character/monster D0/046E: 87 9F move target back 32 D0/0470: 87 9F move target back 32 D0/0472: 1F [---] D0/0473: FF end of script ; [ Animation Script $027B: Monster Exit $0C: Boss Death (bg1) ] D0/0474: 00 20 speed 1, align to center of character/monster D0/0476: B0 FF set background color addition to 31 (white) D0/0478: C9 E3 play sound effect $E3 D0/047A: 89 07 loop start (7 times) D0/047C: B5 F4 decrease background color addition by 4 (white) D0/047E: 0F [$0F] D0/047F: 8A loop end D0/0480: 89 40 loop start (64 times) D0/0482: 0F [$0F] D0/0483: 8A loop end D0/0484: B0 FF set background color addition to 31 (white) D0/0486: BA FF set monster color addition to 31 (white) D0/0488: C9 E3 play sound effect $E3 D0/048A: F7 A0 wait until scanline 160 D0/048C: D4 02 02 10 add (sprites) to (bg2) D0/0490: D0 00 set tile priority to 0 for all character/monster sprites D0/0492: 80 28 30 set tile priority to 3 for all character sprites D0/0495: 89 07 loop start (7 times) D0/0497: B5 F4 decrease background color addition by 4 (white) D0/0499: BB F1 decrease monster color addition by 1 (white) D0/049B: 0F [$0F] D0/049C: 8A loop end D0/049D: 89 17 loop start (23 times) D0/049F: BB F1 decrease monster color addition by 1 (white) D0/04A1: 0F [$0F] D0/04A2: 8A loop end D0/04A3: B9 E0 set monster color subtraction to 0 (black) D0/04A5: 89 1F loop start (31 times) D0/04A7: 0F [$0F] D0/04A8: 8A loop end D0/04A9: C9 F6 play sound effect $F6 D0/04AB: 89 0F loop start (15 times) D0/04AD: 80 82 01 command $80/$82 D0/04B0: 0F [$0F] D0/04B1: 80 82 FF command $80/$82 D0/04B4: 0F [$0F] D0/04B5: 8A loop end D0/04B6: 84 02 set animation speed to 3 D0/04B8: 89 0F loop start (15 times) D0/04BA: 80 80 21 10 00 command $80/$80 D0/04BF: 80 82 01 command $80/$82 D0/04C2: 0F [$0F] D0/04C3: 80 82 FF command $80/$82 D0/04C6: 0F [$0F] D0/04C7: 80 80 21 10 00 command $80/$80 D0/04CC: 80 80 41 10 00 command $80/$80 D0/04D1: 80 82 01 command $80/$82 D0/04D4: 0F [$0F] D0/04D5: 80 82 FF command $80/$82 D0/04D8: 0F [$0F] D0/04D9: 8A loop end D0/04DA: 89 0F loop start (15 times) D0/04DC: 80 80 41 10 00 command $80/$80 D0/04E1: 80 82 02 command $80/$82 D0/04E4: 0F [$0F] D0/04E5: 80 82 FE command $80/$82 D0/04E8: 0F [$0F] D0/04E9: 80 80 81 10 00 command $80/$80 D0/04EE: 80 82 02 command $80/$82 D0/04F1: 0F [$0F] D0/04F2: 80 82 FE command $80/$82 D0/04F5: 0F [$0F] D0/04F6: 8A loop end D0/04F7: 89 07 loop start (7 times) D0/04F9: 80 80 81 10 00 command $80/$80 D0/04FE: 80 82 03 command $80/$82 D0/0501: 0F [$0F] D0/0502: 80 82 FD command $80/$82 D0/0505: 0F [$0F] D0/0506: 80 80 81 10 00 command $80/$80 D0/050B: 80 82 03 command $80/$82 D0/050E: 0F [$0F] D0/050F: 80 82 FD command $80/$82 D0/0512: 0F [$0F] D0/0513: 8A loop end D0/0514: 80 7F command $80/$7F D0/0516: 0F [$0F] D0/0517: C9 FF play sound effect $FF D0/0519: FF end of script ; [ Animation Script $027A: Slash/Skull Hit (bg1) ] D0/051A: 00 20 speed 1, align to center of character/monster D0/051C: C9 00 play default sound effect D0/051E: 8B 07 animated loop start (7 times, increment frame offset each time) D0/0520: 00 [$00] D0/0521: 00 [$00] D0/0522: 8C animated loop end D0/0523: 89 40 loop start (64 times) D0/0525: 08 [$08] D0/0526: 8A loop end D0/0527: FF end of script ; [ Animation Script $0277: Black Ball Hit (bg1) ] D0/0528: 00 00 speed 1, align to bottom of character/monster D0/052A: 89 04 loop start (4 times) D0/052C: 83 DF move up 32 D0/052E: 8A loop end D0/052F: C9 00 play default sound effect D0/0531: 89 13 loop start (19 times) D0/0533: 83 27 move down 8 D0/0535: 00 [$00] D0/0536: 8A loop end D0/0537: 82 16 16 change target graphic to 22 (hit) D0/053A: 89 0F loop start (15 times) D0/053C: 83 82 move back 3 D0/053E: 00 [$00] D0/053F: 83 62 move forward 3 D0/0541: 00 [$00] D0/0542: 8A loop end D0/0543: 82 00 00 change target graphic to 0 (no action) D0/0546: FF end of script ; [ Animation Script $0276: Drill Hit (bg1) ] D0/0547: 00 20 speed 1, align to center of character/monster D0/0549: C9 00 play default sound effect D0/054B: 85 move to attacker position D0/054C: 95 calculate vector from attacker to target D0/054D: 00 [$00] D0/054E: 92 08 03 move along vector at speed 8, branch to $054D D0/0551: 80 4E clear frame offset D0/0553: BF 2F 07 jump to subroutine $072F D0/0556: FF end of script ; [ Animation Script $0275: Net Hit (bg1) ] D0/0557: 20 20 speed 3, align to center of character/monster D0/0559: C9 00 play default sound effect D0/055B: 8B 03 animated loop start (3 times, increment frame offset each time) D0/055D: 00 [$00] D0/055E: 8C animated loop end D0/055F: 89 07 loop start (7 times) D0/0561: 03 [$03] D0/0562: 8A loop end D0/0563: 02 [$02] D0/0564: 01 [$01] D0/0565: 00 [$00] D0/0566: FF end of script ; [ Animation Script $0274: Missiles Hit (bg1) ] D0/0567: 00 20 speed 1, align to center of character/monster D0/0569: D1 01 invalidate character/monster sprite priority D0/056B: C9 00 play default sound effect D0/056D: 85 move to attacker position D0/056E: 00 [$00] D0/056F: 00 [$00] D0/0570: 00 [$00] D0/0571: 01 [$01] D0/0572: 01 [$01] D0/0573: 01 [$01] D0/0574: 95 calculate vector from attacker to target D0/0575: 98 01 03 increment frame offset every 1 loops (0..3) D0/0578: 02 [$02] D0/0579: 92 08 06 move along vector at speed 8, branch to $0575 D0/057C: 80 4E clear frame offset D0/057E: BF 2F 07 jump to subroutine $072F D0/0581: FF end of script ; [ Animation Script $0273: Blooming Flowers Hit (bg1) ] D0/0582: 30 20 speed 4, align to center of character/monster D0/0584: D1 01 invalidate character/monster sprite priority D0/0586: C9 00 play default sound effect D0/0588: 83 AF move up/forward 16 D0/058A: 82 16 16 change target graphic to 22 (hit) D0/058D: E9 1F 1F move animation randomly (0..31,0..31) D0/0590: 8B 09 animated loop start (9 times, increment frame offset each time) D0/0592: 00 [$00] D0/0593: 8C animated loop end D0/0594: E9 1F 1F move animation randomly (0..31,0..31) D0/0597: 8B 09 animated loop start (9 times, increment frame offset each time) D0/0599: 00 [$00] D0/059A: 8C animated loop end D0/059B: 82 00 00 change target graphic to 0 (no action) D0/059E: FF end of script ; [ Animation Script $0272: Wheel Hit (bg1) ] D0/059F: 00 00 speed 1, align to bottom of character/monster D0/05A1: D1 01 invalidate character/monster sprite priority D0/05A3: 83 9F move back 32 D0/05A5: 83 9F move back 32 D0/05A7: 83 9F move back 32 D0/05A9: C9 00 play default sound effect D0/05AB: 89 11 loop start (17 times) D0/05AD: 83 63 move forward 4 D0/05AF: 98 01 03 increment frame offset every 1 loops (0..3) D0/05B2: 00 [$00] D0/05B3: 8A loop end D0/05B4: 82 16 16 change target graphic to 22 (hit) D0/05B7: 83 63 move forward 4 D0/05B9: 83 C4 move up 5 D0/05BB: 98 01 03 increment frame offset every 1 loops (0..3) D0/05BE: 00 [$00] D0/05BF: 83 63 move forward 4 D0/05C1: 83 C3 move up 4 D0/05C3: 98 01 03 increment frame offset every 1 loops (0..3) D0/05C6: 00 [$00] D0/05C7: 83 63 move forward 4 D0/05C9: 83 C2 move up 3 D0/05CB: 98 01 03 increment frame offset every 1 loops (0..3) D0/05CE: 00 [$00] D0/05CF: 83 63 move forward 4 D0/05D1: 83 C1 move up 2 D0/05D3: 98 01 03 increment frame offset every 1 loops (0..3) D0/05D6: 00 [$00] D0/05D7: 83 63 move forward 4 D0/05D9: 83 21 move down 2 D0/05DB: 98 01 03 increment frame offset every 1 loops (0..3) D0/05DE: 00 [$00] D0/05DF: 83 63 move forward 4 D0/05E1: 83 21 move down 2 D0/05E3: 98 01 03 increment frame offset every 1 loops (0..3) D0/05E6: 00 [$00] D0/05E7: 83 63 move forward 4 D0/05E9: 83 21 move down 2 D0/05EB: 98 01 03 increment frame offset every 1 loops (0..3) D0/05EE: 00 [$00] D0/05EF: 83 63 move forward 4 D0/05F1: 83 22 move down 3 D0/05F3: 98 01 03 increment frame offset every 1 loops (0..3) D0/05F6: 00 [$00] D0/05F7: 83 63 move forward 4 D0/05F9: 83 23 move down 4 D0/05FB: 98 01 03 increment frame offset every 1 loops (0..3) D0/05FE: 00 [$00] D0/05FF: 83 63 move forward 4 D0/0601: 83 24 move down 5 D0/0603: 98 01 03 increment frame offset every 1 loops (0..3) D0/0606: 00 [$00] D0/0607: 82 00 00 change target graphic to 0 (no action) D0/060A: 89 1A loop start (26 times) D0/060C: 83 63 move forward 4 D0/060E: 98 01 03 increment frame offset every 1 loops (0..3) D0/0611: 00 [$00] D0/0612: 8A loop end D0/0613: FF end of script ; [ Animation Script $0271: Heart Hit (bg1) ] D0/0614: 00 20 speed 1, align to center of character/monster D0/0616: D1 01 invalidate character/monster sprite priority D0/0618: 85 move to attacker position D0/0619: 95 calculate vector from attacker to target D0/061A: C9 00 play default sound effect D0/061C: 80 5D command $80/$5D D0/061E: 98 04 02 increment frame offset every 4 loops (0..2) D0/0621: 00 [$00] D0/0622: 92 02 08 move along vector at speed 2, branch to $061C D0/0625: 80 4E clear frame offset D0/0627: 80 5D command $80/$5D D0/0629: 00 [$00] D0/062A: 01 [$01] D0/062B: 02 [$02] D0/062C: 03 [$03] D0/062D: 00 [$00] D0/062E: 01 [$01] D0/062F: 02 [$02] D0/0630: 03 [$03] D0/0631: BF 2F 07 jump to subroutine $072F D0/0634: FF end of script ; [ Animation Script $0270: Music Note Hit (bg1) ] D0/0635: 00 20 speed 1, align to center of character/monster D0/0637: D1 01 invalidate character/monster sprite priority D0/0639: 85 move to attacker position D0/063A: 95 calculate vector from attacker to target D0/063B: C9 00 play default sound effect D0/063D: 80 5D command $80/$5D D0/063F: 98 04 02 increment frame offset every 4 loops (0..2) D0/0642: 00 [$00] D0/0643: 92 02 08 move along vector at speed 2, branch to $063D D0/0646: 80 4E clear frame offset D0/0648: 80 5D command $80/$5D D0/064A: BF 2F 07 jump to subroutine $072F D0/064D: FF end of script ; [ Animation Script $026F: Bubble Hit (bg1) ] D0/064E: 20 20 speed 3, align to center of character/monster D0/0650: C9 00 play default sound effect D0/0652: 83 A7 move up/forward 8 D0/0654: 89 03 loop start (3 times) D0/0656: E9 0F 0F move animation randomly (0..15,0..15) D0/0659: 00 [$00] D0/065A: 01 [$01] D0/065B: 02 [$02] D0/065C: 03 [$03] D0/065D: 04 [$04] D0/065E: 82 16 16 change target graphic to 22 (hit) D0/0661: 8A loop end D0/0662: BF 2F 07 jump to subroutine $072F D0/0665: C9 FF play sound effect $FF D0/0667: FF end of script ; [ Animation Script $026E: Bit Hit (bg1) ] D0/0668: 20 20 speed 3, align to center of character/monster D0/066A: C9 00 play default sound effect D0/066C: 82 16 16 change target graphic to 22 (hit) D0/066F: 83 64 move forward 5 D0/0671: 8B 0B animated loop start (11 times, increment frame offset each time) D0/0673: 00 [$00] D0/0674: 8C animated loop end D0/0675: BF 2F 07 jump to subroutine $072F D0/0678: FF end of script ; [ Animation Script $026D: Vertical Hit (bg1) ] D0/0679: 20 20 speed 3, align to center of character/monster D0/067B: C9 00 play default sound effect D0/067D: 82 16 16 change target graphic to 22 (hit) D0/0680: 83 64 move forward 5 D0/0682: 00 [$00] D0/0683: 01 [$01] D0/0684: 02 [$02] D0/0685: 03 [$03] D0/0686: 04 [$04] D0/0687: BF 2F 07 jump to subroutine $072F D0/068A: FF end of script ; [ Animation Script $026C: Star Hit (bg1) ] D0/068B: 30 20 speed 4, align to center of character/monster D0/068D: C9 00 play default sound effect D0/068F: 82 16 16 change target graphic to 22 (hit) D0/0692: 00 [$00] D0/0693: 01 [$01] D0/0694: 02 [$02] D0/0695: 03 [$03] D0/0696: BF 2F 07 jump to subroutine $072F D0/0699: FF end of script ; [ Animation Script $026B: Blue Slime Hit (bg1) ] D0/069A: 40 00 speed 5, align to bottom of character/monster D0/069C: C9 00 play default sound effect D0/069E: 83 20 move down 1 D0/06A0: 0A [$0A] D0/06A1: 09 [$09] D0/06A2: 08 [$08] D0/06A3: 07 [$07] D0/06A4: 06 [$06] D0/06A5: 05 [$05] D0/06A6: 83 67 move forward 8 D0/06A8: 04 [$04] D0/06A9: 03 [$03] D0/06AA: 02 [$02] D0/06AB: 01 [$01] D0/06AC: 00 [$00] D0/06AD: 00 [$00] D0/06AE: 00 [$00] D0/06AF: 00 [$00] D0/06B0: 00 [$00] D0/06B1: 00 [$00] D0/06B2: 01 [$01] D0/06B3: 02 [$02] D0/06B4: 03 [$03] D0/06B5: 04 [$04] D0/06B6: 83 87 move back 8 D0/06B8: 05 [$05] D0/06B9: 06 [$06] D0/06BA: 07 [$07] D0/06BB: 08 [$08] D0/06BC: 09 [$09] D0/06BD: 0A [$0A] D0/06BE: BF 2F 07 jump to subroutine $072F D0/06C1: FF end of script ; [ Animation Script $026A: Robot Hand Hit (bg1) ] D0/06C2: 00 20 speed 1, align to center of character/monster D0/06C4: C9 00 play default sound effect D0/06C6: 85 move to attacker position D0/06C7: 95 calculate vector from attacker to target D0/06C8: 00 [$00] D0/06C9: C1 08 03 command $C1 D0/06CC: 82 16 16 change target graphic to 22 (hit) D0/06CF: 87 67 move target forward 8 D0/06D1: 00 [$00] D0/06D2: C1 08 03 command $C1 D0/06D5: 89 04 loop start (4 times) D0/06D7: 87 60 move target forward 1 D0/06D9: 83 60 move forward 1 D0/06DB: 0F [$0F] D0/06DC: 87 80 move target back 1 D0/06DE: 83 80 move back 1 D0/06E0: 0F [$0F] D0/06E1: 8A loop end D0/06E2: 87 87 move target back 8 D0/06E4: 82 00 00 change target graphic to 0 (no action) D0/06E7: FF end of script ; [ Animation Script $0269: Beam Hit (bg1) ] D0/06E8: 00 00 speed 1, align to bottom of character/monster D0/06EA: 82 16 16 change target graphic to 22 (hit) D0/06ED: 83 24 move down 5 D0/06EF: CC FF set bg1 animation palette color subtraction to 31 (black) D0/06F1: C9 00 play default sound effect D0/06F3: 89 0F loop start (15 times) D0/06F5: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/06F8: 00 [$00] D0/06F9: CF F2 decrease bg1 animation palette color subtraction by 2 (black) D0/06FB: 8A loop end D0/06FC: 89 30 loop start (48 times) D0/06FE: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/0701: 00 [$00] D0/0702: 8A loop end D0/0703: 82 00 00 change target graphic to 0 (no action) D0/0706: 89 0F loop start (15 times) D0/0708: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/070B: 00 [$00] D0/070C: CF E2 increase bg1 animation palette color subtraction by 2 (black) D0/070E: 8A loop end D0/070F: FF end of script ; [ Animation Script $0268: Lightning Hit (bg1) ] D0/0710: 20 00 speed 3, align to bottom of character/monster D0/0712: C9 00 play default sound effect D0/0714: 8B 05 animated loop start (5 times, increment frame offset each time) D0/0716: 00 [$00] D0/0717: 8C animated loop end D0/0718: BF 2F 07 jump to subroutine $072F D0/071B: FF end of script ; [ Animation Script $0266: Bone Hit (bg1) ] D0/071C: 00 20 speed 1, align to center of character/monster D0/071E: C9 00 play default sound effect D0/0720: 85 move to attacker position D0/0721: 95 calculate vector from attacker to target D0/0722: 98 02 04 increment frame offset every 2 loops (0..4) D0/0725: 00 [$00] D0/0726: 92 08 06 move along vector at speed 8, branch to $0722 D0/0729: 80 4E clear frame offset D0/072B: BF 2F 07 jump to subroutine $072F D0/072E: FF end of script D0/072F: 84 01 set animation speed to 2 D0/0731: 82 16 16 change target graphic to 22 (hit) D0/0734: 89 03 loop start (3 times) D0/0736: 87 60 move target forward 1 D0/0738: 0F [$0F] D0/0739: 87 80 move target back 1 D0/073B: 0F [$0F] D0/073C: 8A loop end D0/073D: 82 00 00 change target graphic to 0 (no action) D0/0740: C0 return from subroutine ; [ Animation Script $0265: Hammer Hit (bg1) ] D0/0741: 40 40 speed 5, align to top of character/monster D0/0743: 83 CB move up 12 D0/0745: 83 8B move back 12 D0/0747: C9 00 play default sound effect D0/0749: 82 16 16 change target graphic to 22 (hit) D0/074C: 00 [$00] D0/074D: 83 67 move forward 8 D0/074F: 89 03 loop start (3 times) D0/0751: 01 [$01] D0/0752: 8A loop end D0/0753: 82 00 00 change target graphic to 0 (no action) D0/0756: FF end of script ; [ Animation Script $0264: Ink Hit (bg1) ] D0/0757: 20 20 speed 3, align to center of character/monster D0/0759: 80 49 command $80/$49 D0/075B: 83 8F move back 16 D0/075D: 82 16 16 change target graphic to 22 (hit) D0/0760: C9 00 play default sound effect D0/0762: 8B 05 animated loop start (5 times, increment frame offset each time) D0/0764: 00 [$00] D0/0765: 8C animated loop end D0/0766: 82 00 00 change target graphic to 0 (no action) D0/0769: FF end of script ; [ Animation Script $0263: Needles Hit (bg1) ] D0/076A: 00 20 speed 1, align to center of character/monster D0/076C: C9 00 play default sound effect D0/076E: 83 9F move back 32 D0/0770: 83 9F move back 32 D0/0772: 83 9F move back 32 D0/0774: 89 0B loop start (11 times) D0/0776: 83 67 move forward 8 D0/0778: 00 [$00] D0/0779: 8A loop end D0/077A: 82 16 16 change target graphic to 22 (hit) D0/077D: 83 C7 move up 8 D0/077F: 83 9F move back 32 D0/0781: 83 9F move back 32 D0/0783: 89 03 loop start (3 times) D0/0785: 83 67 move forward 8 D0/0787: 87 60 move target forward 1 D0/0789: 00 [$00] D0/078A: 83 67 move forward 8 D0/078C: 87 80 move target back 1 D0/078E: 00 [$00] D0/078F: 8A loop end D0/0790: 83 2F move down 16 D0/0792: 83 9F move back 32 D0/0794: 83 9F move back 32 D0/0796: 89 03 loop start (3 times) D0/0798: 83 67 move forward 8 D0/079A: 87 60 move target forward 1 D0/079C: 00 [$00] D0/079D: 83 67 move forward 8 D0/079F: 87 80 move target back 1 D0/07A1: 00 [$00] D0/07A2: 8A loop end D0/07A3: 82 00 00 change target graphic to 0 (no action) D0/07A6: FF end of script ; [ Animation Script $00DB: Sketch (bg1) ] D0/07A7: 00 20 speed 1, align to center of character/monster D0/07A9: 80 72 03 branch to $07AF if attack hit D0/07AC: FA E2 07 jump to $07E2 D0/07AF: BD A0 hide bg1 thread D0/07B1: 0F [$0F] D0/07B2: 0F [$0F] D0/07B3: F7 A0 wait until scanline 160 D0/07B5: 80 46 28 command $80/$46 D0/07B8: 85 move to attacker position D0/07B9: 80 19 command $80/$19 D0/07BB: F7 A0 wait until scanline 160 D0/07BD: 80 3E 17 enable (sprites, bg3, bg2, bg1) in main screen D0/07C0: 80 18 load sketched monster palette D0/07C2: EA 84 set bg1 tile data quadrant to 4 D0/07C4: 83 7F move forward 32 D0/07C6: 83 7F move forward 32 D0/07C8: 83 C3 move up 4 D0/07CA: BD 80 show bg1 thread D0/07CC: 01 [$01] D0/07CD: BD A0 hide bg1 thread D0/07CF: 89 5F loop start (95 times) D0/07D1: 01 [$01] D0/07D2: 8A loop end D0/07D3: 89 10 loop start (16 times) D0/07D5: F7 A0 wait until scanline 160 D0/07D7: 80 3E 17 enable (sprites, bg3, bg2, bg1) in main screen D0/07DA: 01 [$01] D0/07DB: F7 A0 wait until scanline 160 D0/07DD: 80 3E 16 enable (sprites, bg3, bg2) in main screen D0/07E0: 01 [$01] D0/07E1: 8A loop end D0/07E2: F7 A0 wait until scanline 160 D0/07E4: 80 3E 16 enable (sprites, bg3, bg2) in main screen D0/07E7: BD 80 show bg1 thread D0/07E9: EA 84 set bg1 tile data quadrant to 4 D0/07EB: 0F [$0F] D0/07EC: EA 81 set bg1 tile data quadrant to 1 D0/07EE: 0F [$0F] D0/07EF: EA 82 set bg1 tile data quadrant to 2 D0/07F1: 0F [$0F] D0/07F2: EA 83 set bg1 tile data quadrant to 3 D0/07F4: 0F [$0F] D0/07F5: F7 A0 wait until scanline 160 D0/07F7: 80 46 0C command $80/$46 D0/07FA: FF end of script ; [ Animation Script $0262: ] D0/07FB: 00 00 speed 1, align to bottom of character/monster D0/07FD: 80 72 01 branch to $0801 if attack hit D0/0800: FF end of script D0/0801: 85 move to attacker position D0/0802: 83 7F move forward 32 D0/0804: 83 7F move forward 32 D0/0806: 83 9F move back 32 D0/0808: 83 9F move back 32 D0/080A: 83 20 move down 1 D0/080C: F7 A0 wait until scanline 160 D0/080E: D4 02 04 12 add (sprites, bg2) to (bg3) D0/0812: AD 87 set bg3 hdma scroll type to 7 D0/0814: AC 22 47 set (bg3) hdma scroll data (amplitude 7, frequency 2, horizontal) D0/0817: 80 6F command $80/$6F D0/0819: 00 [$00] D0/081A: EA 41 set bg3 tile data quadrant to 1 D0/081C: 01 [$01] D0/081D: 89 40 loop start (64 times) D0/081F: 83 63 move forward 4 D0/0821: AE 41 update (bg3) hdma scroll data (horizontal) D0/0823: 80 70 command $80/$70 D0/0825: 00 [$00] D0/0826: 80 3E 17 enable (sprites, bg3, bg2, bg1) in main screen D0/0829: 8A loop end D0/082A: F7 A0 wait until scanline 160 D0/082C: 80 1A 01 command $80/$1A D0/082F: AD 85 set bg3 hdma scroll type to 5 D0/0831: 80 24 clear bg3 hdma scroll data D0/0833: EA 41 set bg3 tile data quadrant to 1 D0/0835: 09 [$09] D0/0836: FF end of script ; [ Animation Script $0261: Confuser (sprite) ] D0/0837: 20 20 speed 3, align to center of character/monster D0/0839: 89 07 loop start (7 times) D0/083B: 1F [---] D0/083C: 8A loop end D0/083D: 80 72 01 branch to $0841 if attack hit D0/0840: FF end of script D0/0841: 89 07 loop start (7 times) D0/0843: D5 01 flip target monster horizontally D0/0845: 1F [---] D0/0846: 1F [---] D0/0847: D5 01 flip target monster horizontally D0/0849: 1F [---] D0/084A: 1F [---] D0/084B: 8A loop end D0/084C: FF end of script ; [ Animation Script $0260: Engulf (sprite) ] D0/084D: 00 20 speed 1, align to center of character/monster D0/084F: 80 7C command $80/$7C D0/0851: 85 move to attacker position D0/0852: 89 1F loop start (31 times) D0/0854: 86 62 move attacker forward 3 D0/0856: 1F [---] D0/0857: 86 82 move attacker back 3 D0/0859: 1F [---] D0/085A: 8A loop end D0/085B: 80 72 01 branch to $085F if attack hit D0/085E: FF end of script D0/085F: E7 calculate vector from attacking character to target D0/0860: 1F [---] D0/0861: E5 0C 03 00 move character forward along vector at speed 12 and height 0, branch to $0860 D0/0865: E1 00 hide attacking character sprite D0/0867: FF end of script ; [ Animation Script $025E: Engulf (bg1) ] D0/0868: 00 20 speed 1, align to center of character/monster D0/086A: 85 move to attacker position D0/086B: 83 7F move forward 32 D0/086D: 83 7F move forward 32 D0/086F: 89 80 loop start (128 times) D0/0871: 00 [$00] D0/0872: 8A loop end D0/0873: FF end of script ; [ Animation Script $025F: Engulf (bg3) ] D0/0874: 00 20 speed 1, align to center of character/monster D0/0876: C9 00 play default sound effect D0/0878: 85 move to attacker position D0/0879: 83 7F move forward 32 D0/087B: 83 7F move forward 32 D0/087D: 83 20 move down 1 D0/087F: 89 80 loop start (128 times) D0/0881: A4 17 31 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift) D0/0884: 00 [$00] D0/0885: 8A loop end D0/0886: FF end of script ; [ Animation Script $025C: Misc. Monster Animation $06: Characters Run Right to Left (bg1) ] D0/0887: 00 20 speed 1, align to center of character/monster D0/0889: D1 01 invalidate character/monster sprite priority D0/088B: 89 37 loop start (55 times) D0/088D: 80 79 command $80/$79 D0/088F: 0F [$0F] D0/0890: 8A loop end D0/0891: 80 7B command $80/$7B D0/0893: FF end of script ; [ Animation Script $025D: Misc. Monster Animation $05: Characters Run Left to Right (bg1) ] D0/0894: 00 20 speed 1, align to center of character/monster D0/0896: D1 01 invalidate character/monster sprite priority D0/0898: 89 37 loop start (55 times) D0/089A: 80 7A command $80/$7A D0/089C: 0F [$0F] D0/089D: 8A loop end D0/089E: 80 7B command $80/$7B D0/08A0: FF end of script ; [ Animation Script $025B: Discard (sprite) ] D0/08A1: 00 20 speed 1, align to center of character/monster D0/08A3: 80 72 01 branch to $08A7 if attack hit D0/08A6: FF end of script D0/08A7: 80 78 command $80/$78 D0/08A9: 1F [---] D0/08AA: FF end of script ; [ Animation Script $00F1: Spin Edge (bg1) ] D0/08AB: 10 20 speed 2, align to center of character/monster D0/08AD: 83 CF move up 16 D0/08AF: 8B 04 animated loop start (4 times, increment frame offset each time) D0/08B1: 00 [$00] D0/08B2: 8C animated loop end D0/08B3: 83 2F move down 16 D0/08B5: 8B 04 animated loop start (4 times, increment frame offset each time) D0/08B7: 00 [$00] D0/08B8: 8C animated loop end D0/08B9: 83 2F move down 16 D0/08BB: 8B 04 animated loop start (4 times, increment frame offset each time) D0/08BD: 00 [$00] D0/08BE: 8C animated loop end D0/08BF: FF end of script ; [ Animation Script $01DD: Spin Edge (sprite) ] D0/08C0: 00 00 speed 1, align to bottom of character/monster D0/08C2: C7 02 save attacking character position D0/08C4: C9 00 play default sound effect D0/08C6: 81 07 07 change attacker graphic to 7 (jumping) D0/08C9: 85 move to attacker position D0/08CA: E7 calculate vector from attacking character to target D0/08CB: 1F [---] D0/08CC: E5 0C 03 10 move character forward along vector at speed 12 and height 16, branch to $08CB D0/08D0: 81 00 00 change attacker graphic to 0 (no action) D0/08D3: 83 24 move down 5 D0/08D5: C2 80 unpause bg1 thread D0/08D7: 89 05 loop start (5 times) D0/08D9: C9 2E play sound effect $2E D0/08DB: 81 04 04 change attacker graphic to 4 (walking forward, frame 1) D0/08DE: 00 [$00] D0/08DF: 00 [$00] D0/08E0: 83 8A move back 11 D0/08E2: 81 03 03 change attacker graphic to 3 (walking down, frame 3) D0/08E5: 01 [$01] D0/08E6: 01 [$01] D0/08E7: 83 92 move back 19 D0/08E9: 81 36 36 change attacker graphic to 6 (walking forward, frame 3) D0/08EC: 02 [$02] D0/08ED: 02 [$02] D0/08EE: 83 7D move forward 30 D0/08F0: 81 10 10 change attacker graphic to 16 (walking up, frame 3) D0/08F3: 1F [---] D0/08F4: 1F [---] D0/08F5: 8A loop end D0/08F6: 81 37 37 change attacker graphic to 7 (jumping) D0/08F9: 1F [---] D0/08FA: E6 0C 03 10 move character backward along vector at speed 12 and height 16, branch to $08F9 D0/08FE: C7 03 restore attacking character position and reset offsets D0/0900: C8 00 change attacker action to 0 (no action) D0/0902: 81 00 00 change attacker graphic to 0 (no action) D0/0905: FF end of script ; [ Animation Script $025A: UMARO's throw (sprite) ] D0/0906: 00 20 speed 1, align to center of character/monster D0/0908: C7 02 save attacking character position D0/090A: C9 00 play default sound effect D0/090C: 81 07 07 change attacker graphic to 7 (jumping) D0/090F: 85 move to attacker position D0/0910: E7 calculate vector from attacking character to target D0/0911: 1F [---] D0/0912: E5 04 03 10 move character forward along vector at speed 4 and height 16, branch to $0911 D0/0916: 81 07 07 change attacker graphic to 7 (jumping) D0/0919: 1F [---] D0/091A: 1F [---] D0/091B: 1F [---] D0/091C: 1F [---] D0/091D: C2 80 unpause bg1 thread D0/091F: 81 06 06 change attacker graphic to 6 (walking forward, frame 3) D0/0922: 89 10 loop start (16 times) D0/0924: 1F [---] D0/0925: 8A loop end D0/0926: 81 37 37 change attacker graphic to 7 (jumping) D0/0929: 1F [---] D0/092A: E6 04 03 10 move character backward along vector at speed 4 and height 16, branch to $0929 D0/092E: C7 03 restore attacking character position and reset offsets D0/0930: C8 00 change attacker action to 0 (no action) D0/0932: 81 00 00 change attacker graphic to 0 (no action) D0/0935: FF end of script ; [ Animation Script $0227: UMARO's throw (bg1) ] D0/0936: 00 20 speed 1, align to center of character/monster D0/0938: C7 02 save attacking character position D0/093A: C9 00 play default sound effect D0/093C: 85 move to attacker position D0/093D: E7 calculate vector from attacking character to target D0/093E: 81 14 14 change attacker graphic to 20 (kneeling) D0/0941: 0F [$0F] D0/0942: E5 0C 03 00 move character forward along vector at speed 12 and height 0, branch to $0941 D0/0946: C9 DB play sound effect $DB D0/0948: 89 07 loop start (7 times) D0/094A: 87 61 move target forward 2 D0/094C: 0F [$0F] D0/094D: 87 81 move target back 2 D0/094F: 0F [$0F] D0/0950: 8A loop end D0/0951: 81 37 37 change attacker graphic to 7 (jumping) D0/0954: 0F [$0F] D0/0955: E6 0C 03 20 move character backward along vector at speed 12 and height 32, branch to $0954 D0/0959: 81 00 00 change attacker graphic to 0 (no action) D0/095C: C7 03 restore attacking character position and reset offsets D0/095E: C8 00 change attacker action to 0 (no action) D0/0960: 81 00 00 change attacker graphic to 0 (no action) D0/0963: FF end of script ; [ Animation Script $0258: Capture-to (sprite) ] D0/0964: 00 E0 speed 1, align to character D0/0966: C7 02 save attacking character position D0/0968: 85 move to attacker position D0/0969: E7 calculate vector from attacking character to target D0/096A: C7 09 update character action based on vector direction (arms up) D0/096C: 1F [---] D0/096D: E5 0C 03 20 move character forward along vector at speed 12 and height 32, branch to $096C D0/0971: C7 01 reset attacking character position offsets D0/0973: 81 14 14 change attacker graphic to 20 (kneeling) D0/0976: FF end of script ; [ Animation Script $0259: Capture-from (sprite) ] D0/0977: 00 E0 speed 1, align to character D0/0979: C7 04 restore attacking character position D0/097B: C8 00 change attacker action to 0 (no action) D0/097D: 81 00 00 change attacker graphic to 0 (no action) D0/0980: E7 calculate vector from attacking character to target D0/0981: C7 09 update character action based on vector direction (arms up) D0/0983: 1F [---] D0/0984: E5 0C 03 20 move character forward along vector at speed 12 and height 32, branch to $0983 D0/0988: C7 03 restore attacking character position and reset offsets D0/098A: C8 00 change attacker action to 0 (no action) D0/098C: 81 00 00 change attacker graphic to 0 (no action) D0/098F: FF end of script ; [ Animation Script $0226: UMARO's tackle (sprite) ] D0/0990: 00 20 speed 1, align to center of character/monster D0/0992: DB 03 branch to $0997 if character already stepped forward to attack D0/0994: BF 19 70 jump to subroutine $7019 D0/0997: 81 07 07 change attacker graphic to 7 (jumping) D0/099A: C9 00 play default sound effect D0/099C: 85 move to attacker position D0/099D: E7 calculate vector from attacking character to target D0/099E: 1F [---] D0/099F: E5 08 03 00 move character forward along vector at speed 8 and height 0, branch to $099E D0/09A3: C9 A9 play sound effect $A9 D0/09A5: 89 07 loop start (7 times) D0/09A7: 87 61 move target forward 2 D0/09A9: 1F [---] D0/09AA: 87 81 move target back 2 D0/09AC: 1F [---] D0/09AD: 8A loop end D0/09AE: 81 37 37 change attacker graphic to 7 (jumping) D0/09B1: 1F [---] D0/09B2: E6 08 03 20 move character backward along vector at speed 8 and height 32, branch to $09B1 D0/09B6: 81 00 00 change attacker graphic to 0 (no action) D0/09B9: FF end of script ; [ Animation Script $020E: Super Ball (sprite) ] D0/09BA: 00 20 speed 1, align to center of character/monster D0/09BC: D1 01 invalidate character/monster sprite priority D0/09BE: 89 18 loop start (24 times) D0/09C0: 1F [---] D0/09C1: 8A loop end D0/09C2: C9 00 play default sound effect D0/09C4: 85 move to attacker position D0/09C5: 83 77 move forward 24 D0/09C7: 95 calculate vector from attacker to target D0/09C8: 80 75 60 08 80 command $80/$75 D0/09CD: 00 [$00] D0/09CE: C1 04 08 command $C1 D0/09D1: 80 3B change target's color palette to animation palette D0/09D3: 00 [$00] D0/09D4: 80 3C restore target's color palette D0/09D6: 80 75 60 08 80 command $80/$75 D0/09DB: 00 [$00] D0/09DC: C1 04 08 command $C1 D0/09DF: FF end of script ; [ Animation Script $0253: Misc. Monster Animation $04 (sprite) ] D0/09E0: 00 20 speed 1, align to center of character/monster D0/09E2: 87 67 move target forward 8 D0/09E4: 1F [---] D0/09E5: FF end of script ; [ Animation Script $0254: Misc. Monster Animation $03 (sprite) ] D0/09E6: 00 20 speed 1, align to center of character/monster D0/09E8: 87 87 move target back 8 D0/09EA: 1F [---] D0/09EB: FF end of script ; [ Animation Script $0012: Dice, Fixed Dice (sprite) ] D0/09EC: 00 20 speed 1, align to center of character/monster D0/09EE: 85 move to attacker position D0/09EF: 95 calculate vector from attacker to target D0/09F0: EB jump based on thread ($09F9, $0A6A, $0ACD, $0B31) D0/09F9: D1 01 invalidate character/monster sprite priority D0/09FB: BF 19 70 jump to subroutine $7019 D0/09FE: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/0A01: 1F [---] D0/0A02: 1F [---] D0/0A03: 1F [---] D0/0A04: 1F [---] D0/0A05: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/0A08: C9 00 play default sound effect D0/0A0A: 00 [$00] D0/0A0B: 92 06 03 move along vector at speed 6, branch to $0A0A D0/0A0E: C9 F3 play sound effect $F3 D0/0A10: 81 00 00 change attacker graphic to 0 (no action) D0/0A13: 00 [$00] D0/0A14: 83 81 move back 2 D0/0A16: 83 C3 move up 4 D0/0A18: 00 [$00] D0/0A19: 83 81 move back 2 D0/0A1B: 83 C3 move up 4 D0/0A1D: 01 [$01] D0/0A1E: 83 81 move back 2 D0/0A20: 83 C2 move up 3 D0/0A22: 01 [$01] D0/0A23: 83 81 move back 2 D0/0A25: 83 C1 move up 2 D0/0A27: 01 [$01] D0/0A28: 83 81 move back 2 D0/0A2A: 83 C0 move up 1 D0/0A2C: 02 [$02] D0/0A2D: 83 81 move back 2 D0/0A2F: 83 C0 move up 1 D0/0A31: 02 [$02] D0/0A32: 83 81 move back 2 D0/0A34: 83 C0 move up 1 D0/0A36: 02 [$02] D0/0A37: 83 81 move back 2 D0/0A39: 83 21 move down 2 D0/0A3B: 01 [$01] D0/0A3C: 83 81 move back 2 D0/0A3E: 83 21 move down 2 D0/0A40: 01 [$01] D0/0A41: 83 81 move back 2 D0/0A43: 83 22 move down 3 D0/0A45: 01 [$01] D0/0A46: 83 81 move back 2 D0/0A48: 83 22 move down 3 D0/0A4A: 00 [$00] D0/0A4B: 83 81 move back 2 D0/0A4D: 83 22 move down 3 D0/0A4F: 00 [$00] D0/0A50: 83 81 move back 2 D0/0A52: 83 22 move down 3 D0/0A54: 00 [$00] D0/0A55: 83 81 move back 2 D0/0A57: 83 22 move down 3 D0/0A59: 03 [$03] D0/0A5A: 83 81 move back 2 D0/0A5C: 83 22 move down 3 D0/0A5E: 03 [$03] D0/0A5F: 80 73 01 set graphics for dice roll (die 1) D0/0A62: 89 40 loop start (64 times) D0/0A64: 00 [$00] D0/0A65: 8A loop end D0/0A66: BF 40 70 jump to subroutine $7040 D0/0A69: FF end of script D0/0A6A: DB 06 branch to $0A72 if character already stepped forward to attack D0/0A6C: 83 77 move forward 24 D0/0A6E: 89 0B loop start (11 times) D0/0A70: 1F [---] D0/0A71: 8A loop end D0/0A72: 1F [---] D0/0A73: 1F [---] D0/0A74: 1F [---] D0/0A75: 01 [$01] D0/0A76: 92 06 03 move along vector at speed 6, branch to $0A75 D0/0A79: 02 [$02] D0/0A7A: 83 80 move back 1 D0/0A7C: 83 C4 move up 5 D0/0A7E: 02 [$02] D0/0A7F: 83 80 move back 1 D0/0A81: 83 C3 move up 4 D0/0A83: 02 [$02] D0/0A84: 83 80 move back 1 D0/0A86: 83 C2 move up 3 D0/0A88: 03 [$03] D0/0A89: 83 80 move back 1 D0/0A8B: 83 C1 move up 2 D0/0A8D: 03 [$03] D0/0A8E: 83 80 move back 1 D0/0A90: 83 C0 move up 1 D0/0A92: 03 [$03] D0/0A93: 83 80 move back 1 D0/0A95: 83 C0 move up 1 D0/0A97: 00 [$00] D0/0A98: 83 80 move back 1 D0/0A9A: 83 C0 move up 1 D0/0A9C: 00 [$00] D0/0A9D: 83 80 move back 1 D0/0A9F: 83 21 move down 2 D0/0AA1: 00 [$00] D0/0AA2: 83 80 move back 1 D0/0AA4: 83 22 move down 3 D0/0AA6: 01 [$01] D0/0AA7: 83 80 move back 1 D0/0AA9: 83 22 move down 3 D0/0AAB: 01 [$01] D0/0AAC: 83 80 move back 1 D0/0AAE: 83 23 move down 4 D0/0AB0: 01 [$01] D0/0AB1: 83 80 move back 1 D0/0AB3: 83 23 move down 4 D0/0AB5: 02 [$02] D0/0AB6: 83 80 move back 1 D0/0AB8: 83 24 move down 5 D0/0ABA: 02 [$02] D0/0ABB: 83 80 move back 1 D0/0ABD: 83 24 move down 5 D0/0ABF: 02 [$02] D0/0AC0: 83 80 move back 1 D0/0AC2: 83 24 move down 5 D0/0AC4: 02 [$02] D0/0AC5: 80 73 02 set graphics for dice roll (die 2) D0/0AC8: 89 40 loop start (64 times) D0/0ACA: 00 [$00] D0/0ACB: 8A loop end D0/0ACC: FF end of script D0/0ACD: DB 06 branch to $0AD5 if character already stepped forward to attack D0/0ACF: 83 77 move forward 24 D0/0AD1: 89 0B loop start (11 times) D0/0AD3: 1F [---] D0/0AD4: 8A loop end D0/0AD5: 1F [---] D0/0AD6: 1F [---] D0/0AD7: 1F [---] D0/0AD8: 1F [---] D0/0AD9: 1F [---] D0/0ADA: 1F [---] D0/0ADB: 02 [$02] D0/0ADC: 92 06 03 move along vector at speed 6, branch to $0ADB D0/0ADF: 00 [$00] D0/0AE0: 83 60 move forward 1 D0/0AE2: 83 C3 move up 4 D0/0AE4: 00 [$00] D0/0AE5: 83 60 move forward 1 D0/0AE7: 83 C3 move up 4 D0/0AE9: 00 [$00] D0/0AEA: 83 60 move forward 1 D0/0AEC: 83 C2 move up 3 D0/0AEE: 01 [$01] D0/0AEF: 83 60 move forward 1 D0/0AF1: 83 C1 move up 2 D0/0AF3: 01 [$01] D0/0AF4: 83 60 move forward 1 D0/0AF6: 83 C0 move up 1 D0/0AF8: 01 [$01] D0/0AF9: 83 60 move forward 1 D0/0AFB: 83 C0 move up 1 D0/0AFD: 00 [$00] D0/0AFE: 83 60 move forward 1 D0/0B00: 83 C0 move up 1 D0/0B02: 00 [$00] D0/0B03: 83 60 move forward 1 D0/0B05: 83 21 move down 2 D0/0B07: 00 [$00] D0/0B08: 83 60 move forward 1 D0/0B0A: 83 21 move down 2 D0/0B0C: 01 [$01] D0/0B0D: 83 60 move forward 1 D0/0B0F: 83 22 move down 3 D0/0B11: 01 [$01] D0/0B12: 83 60 move forward 1 D0/0B14: 83 22 move down 3 D0/0B16: 01 [$01] D0/0B17: 83 60 move forward 1 D0/0B19: 83 23 move down 4 D0/0B1B: 00 [$00] D0/0B1C: 83 60 move forward 1 D0/0B1E: 83 23 move down 4 D0/0B20: 00 [$00] D0/0B21: 83 60 move forward 1 D0/0B23: 83 23 move down 4 D0/0B25: 00 [$00] D0/0B26: 83 60 move forward 1 D0/0B28: 83 23 move down 4 D0/0B2A: 80 73 00 set graphics for dice roll (die 0) D0/0B2D: 89 40 loop start (64 times) D0/0B2F: 00 [$00] D0/0B30: 8A loop end D0/0B31: FF end of script ; [ Animation Script $024E: Misc. Monster Animation $02: Move Forward (sprite) ] D0/0B32: 00 20 speed 1, align to center of character/monster D0/0B34: 89 07 loop start (7 times) D0/0B36: 1F [---] D0/0B37: 1F [---] D0/0B38: 87 20 move target down 1 D0/0B3A: 1F [---] D0/0B3B: 1F [---] D0/0B3C: 87 C0 move target up 1 D0/0B3E: 1F [---] D0/0B3F: 1F [---] D0/0B40: 87 20 move target down 1 D0/0B42: 1F [---] D0/0B43: 1F [---] D0/0B44: 87 C0 move target up 1 D0/0B46: 1F [---] D0/0B47: 1F [---] D0/0B48: 87 60 move target forward 1 D0/0B4A: 8A loop end D0/0B4B: FF end of script ; [ Animation Script $024F: Misc. Monster Animation $01: Move Back (sprite) ] D0/0B4C: 00 20 speed 1, align to center of character/monster D0/0B4E: 89 07 loop start (7 times) D0/0B50: 1F [---] D0/0B51: 1F [---] D0/0B52: 87 20 move target down 1 D0/0B54: 1F [---] D0/0B55: 1F [---] D0/0B56: 87 C0 move target up 1 D0/0B58: 1F [---] D0/0B59: 1F [---] D0/0B5A: 87 20 move target down 1 D0/0B5C: 1F [---] D0/0B5D: 1F [---] D0/0B5E: 87 C0 move target up 1 D0/0B60: 1F [---] D0/0B61: 1F [---] D0/0B62: 87 80 move target back 1 D0/0B64: 8A loop end D0/0B65: FF end of script ; [ Animation Script $024D: Misc. Monster Animation $00/$09: Flash Red (bg1) ] D0/0B66: 00 20 speed 1, align to center of character/monster D0/0B68: BD A0 hide bg1 thread D0/0B6A: C4 80 move bg1 thread to this thread's position D0/0B6C: CC 60 set bg1 animation palette color subtraction to 0 (red) D0/0B6E: 89 1F loop start (31 times) D0/0B70: 0F [$0F] D0/0B71: CF 61 increase bg1 animation palette color subtraction by 1 (red) D0/0B73: 8A loop end D0/0B74: 89 1F loop start (31 times) D0/0B76: 0F [$0F] D0/0B77: 8A loop end D0/0B78: 89 1F loop start (31 times) D0/0B7A: 0F [$0F] D0/0B7B: CF 71 decrease bg1 animation palette color subtraction by 1 (red) D0/0B7D: 8A loop end D0/0B7E: FF end of script ; [ Animation Script $024B: Monster Entry $0B: Horizontal Fade (bg3) ] D0/0B7F: 00 00 speed 1, align to bottom of character/monster D0/0B81: 9A set facing direction to match attacker D0/0B82: C9 00 play default sound effect D0/0B84: 83 9F move back 32 D0/0B86: 83 9F move back 32 D0/0B88: 83 20 move down 1 D0/0B8A: F7 A0 wait until scanline 160 D0/0B8C: D4 02 04 12 add (sprites, bg2) to (bg3) D0/0B90: AD 87 set bg3 hdma scroll type to 7 D0/0B92: AC 22 47 set (bg3) hdma scroll data (amplitude 7, frequency 2, horizontal) D0/0B95: 80 6F command $80/$6F D0/0B97: 00 [$00] D0/0B98: EA 41 set bg3 tile data quadrant to 1 D0/0B9A: 01 [$01] D0/0B9B: 89 80 loop start (128 times) D0/0B9D: 83 61 move forward 2 D0/0B9F: AE 41 update (bg3) hdma scroll data (horizontal) D0/0BA1: 80 70 command $80/$70 D0/0BA3: 00 [$00] D0/0BA4: 80 3E 17 enable (sprites, bg3, bg2, bg1) in main screen D0/0BA7: 8A loop end D0/0BA8: F7 A0 wait until scanline 160 D0/0BAA: 80 1A 01 command $80/$1A D0/0BAD: AD 85 set bg3 hdma scroll type to 5 D0/0BAF: 80 24 clear bg3 hdma scroll data D0/0BB1: EA 41 set bg3 tile data quadrant to 1 D0/0BB3: 09 [$09] D0/0BB4: FF end of script ; [ Animation Script $024C: Monster Exit $0B: Horizontal Fade (bg3) ] D0/0BB5: 00 00 speed 1, align to bottom of character/monster D0/0BB7: C9 00 play default sound effect D0/0BB9: 9A set facing direction to match attacker D0/0BBA: 83 20 move down 1 D0/0BBC: 89 05 loop start (5 times) D0/0BBE: 83 7F move forward 32 D0/0BC0: 8A loop end D0/0BC1: F7 A0 wait until scanline 160 D0/0BC3: D4 02 04 12 add (sprites, bg2) to (bg3) D0/0BC7: AC 21 47 set (bg3) hdma scroll data (amplitude 7, frequency 1, horizontal) D0/0BCA: AD 87 set bg3 hdma scroll type to 7 D0/0BCC: 09 [$09] D0/0BCD: AE 41 update (bg3) hdma scroll data (horizontal) D0/0BCF: 80 70 command $80/$70 D0/0BD1: EA 41 set bg3 tile data quadrant to 1 D0/0BD3: 01 [$01] D0/0BD4: 89 7F loop start (127 times) D0/0BD6: 83 81 move back 2 D0/0BD8: AE 41 update (bg3) hdma scroll data (horizontal) D0/0BDA: 80 70 command $80/$70 D0/0BDC: 00 [$00] D0/0BDD: 80 3E 17 enable (sprites, bg3, bg2, bg1) in main screen D0/0BE0: 8A loop end D0/0BE1: F7 A0 wait until scanline 160 D0/0BE3: 80 3E 16 enable (sprites, bg3, bg2) in main screen D0/0BE6: F1 80 hide target monster sprite D0/0BE8: AD 85 set bg3 hdma scroll type to 5 D0/0BEA: 80 24 clear bg3 hdma scroll data D0/0BEC: EA 41 set bg3 tile data quadrant to 1 D0/0BEE: 09 [$09] D0/0BEF: FF end of script ; [ Animation Script $0249: Monster Entry $0A: Materialize (bg3) ] D0/0BF0: 00 00 speed 1, align to bottom of character/monster D0/0BF2: 9A set facing direction to match attacker D0/0BF3: F7 A0 wait until scanline 160 D0/0BF5: D4 02 04 12 add (sprites, bg2) to (bg3) D0/0BF9: AD 87 set bg3 hdma scroll type to 7 D0/0BFB: AC 21 44 set (bg3) hdma scroll data (amplitude 4, frequency 1, horizontal) D0/0BFE: 80 6F command $80/$6F D0/0C00: C9 00 play default sound effect D0/0C02: 8B 07 animated loop start (7 times, increment frame offset each time) D0/0C04: AE 41 update (bg3) hdma scroll data (horizontal) D0/0C06: 80 70 command $80/$70 D0/0C08: 00 [$00] D0/0C09: 80 3E 17 enable (sprites, bg3, bg2, bg1) in main screen D0/0C0C: AE 41 update (bg3) hdma scroll data (horizontal) D0/0C0E: 80 70 command $80/$70 D0/0C10: 00 [$00] D0/0C11: AE 41 update (bg3) hdma scroll data (horizontal) D0/0C13: 80 70 command $80/$70 D0/0C15: 00 [$00] D0/0C16: AE 41 update (bg3) hdma scroll data (horizontal) D0/0C18: 80 70 command $80/$70 D0/0C1A: 00 [$00] D0/0C1B: 8C animated loop end D0/0C1C: F7 A0 wait until scanline 160 D0/0C1E: 80 1A 01 command $80/$1A D0/0C21: AD 85 set bg3 hdma scroll type to 5 D0/0C23: 80 24 clear bg3 hdma scroll data D0/0C25: FF end of script ; [ Animation Script $024A: Monster Exit $0A: Materialize (bg3) ] D0/0C26: 00 00 speed 1, align to bottom of character/monster D0/0C28: C9 00 play default sound effect D0/0C2A: 9A set facing direction to match attacker D0/0C2B: F7 A0 wait until scanline 160 D0/0C2D: D4 02 04 12 add (sprites, bg2) to (bg3) D0/0C31: AD 87 set bg3 hdma scroll type to 7 D0/0C33: AC 21 44 set (bg3) hdma scroll data (amplitude 4, frequency 1, horizontal) D0/0C36: 09 [$09] D0/0C37: 8B 07 animated loop start (7 times, increment frame offset each time) D0/0C39: AE 41 update (bg3) hdma scroll data (horizontal) D0/0C3B: 80 70 command $80/$70 D0/0C3D: 00 [$00] D0/0C3E: 80 3E 17 enable (sprites, bg3, bg2, bg1) in main screen D0/0C41: AE 41 update (bg3) hdma scroll data (horizontal) D0/0C43: 80 70 command $80/$70 D0/0C45: 00 [$00] D0/0C46: AE 41 update (bg3) hdma scroll data (horizontal) D0/0C48: 80 70 command $80/$70 D0/0C4A: 00 [$00] D0/0C4B: AE 41 update (bg3) hdma scroll data (horizontal) D0/0C4D: 80 70 command $80/$70 D0/0C4F: 00 [$00] D0/0C50: 8C animated loop end D0/0C51: F7 A0 wait until scanline 160 D0/0C53: 80 3E 16 enable (sprites, bg3, bg2) in main screen D0/0C56: F1 80 hide target monster sprite D0/0C58: AD 85 set bg3 hdma scroll type to 5 D0/0C5A: 80 24 clear bg3 hdma scroll data D0/0C5C: FF end of script ; [ Animation Script $0247: Monster Entry $09: Fade Bottom to Top (bg3) ] D0/0C5D: 00 00 speed 1, align to bottom of character/monster D0/0C5F: C9 00 play default sound effect D0/0C61: 9A set facing direction to match attacker D0/0C62: 83 3F move down 32 D0/0C64: 83 3F move down 32 D0/0C66: 83 2F move down 16 D0/0C68: F7 A0 wait until scanline 160 D0/0C6A: D4 02 04 12 add (sprites, bg2) to (bg3) D0/0C6E: AD 87 set bg3 hdma scroll type to 7 D0/0C70: AC 21 44 set (bg3) hdma scroll data (amplitude 4, frequency 1, horizontal) D0/0C73: 80 6F command $80/$6F D0/0C75: 89 80 loop start (128 times) D0/0C77: 83 C1 move up 2 D0/0C79: AE 41 update (bg3) hdma scroll data (horizontal) D0/0C7B: 80 70 command $80/$70 D0/0C7D: 00 [$00] D0/0C7E: 80 3E 17 enable (sprites, bg3, bg2, bg1) in main screen D0/0C81: 8A loop end D0/0C82: F7 A0 wait until scanline 160 D0/0C84: 80 1A 01 command $80/$1A D0/0C87: AD 85 set bg3 hdma scroll type to 5 D0/0C89: 80 24 clear bg3 hdma scroll data D0/0C8B: FF end of script ; [ Animation Script $0248: Monster Exit $09: Fade Bottom to Top (bg3) ] D0/0C8C: 00 00 speed 1, align to bottom of character/monster D0/0C8E: C9 00 play default sound effect D0/0C90: 9A set facing direction to match attacker D0/0C91: F7 A0 wait until scanline 160 D0/0C93: D4 02 04 12 add (sprites, bg2) to (bg3) D0/0C97: AD 87 set bg3 hdma scroll type to 7 D0/0C99: AC 21 44 set (bg3) hdma scroll data (amplitude 4, frequency 1, horizontal) D0/0C9C: 89 05 loop start (5 times) D0/0C9E: 83 3F move down 32 D0/0CA0: 8A loop end D0/0CA1: 83 2F move down 16 D0/0CA3: 09 [$09] D0/0CA4: 89 67 loop start (103 times) D0/0CA6: 83 C1 move up 2 D0/0CA8: AE 41 update (bg3) hdma scroll data (horizontal) D0/0CAA: 80 70 command $80/$70 D0/0CAC: 00 [$00] D0/0CAD: 80 3E 17 enable (sprites, bg3, bg2, bg1) in main screen D0/0CB0: 8A loop end D0/0CB1: F7 A0 wait until scanline 160 D0/0CB3: 80 3E 16 enable (sprites, bg3, bg2) in main screen D0/0CB6: F1 80 hide target monster sprite D0/0CB8: AD 85 set bg3 hdma scroll type to 5 D0/0CBA: 80 24 clear bg3 hdma scroll data D0/0CBC: FF end of script ; [ Animation Script $0244: Monster Entry $08: Fade Top to Bottom (bg3) ] D0/0CBD: 00 00 speed 1, align to bottom of character/monster D0/0CBF: C9 00 play default sound effect D0/0CC1: 9A set facing direction to match attacker D0/0CC2: F7 A0 wait until scanline 160 D0/0CC4: D4 02 04 12 add (sprites, bg2) to (bg3) D0/0CC8: AD 87 set bg3 hdma scroll type to 7 D0/0CCA: AC 21 44 set (bg3) hdma scroll data (amplitude 4, frequency 1, horizontal) D0/0CCD: 80 6F command $80/$6F D0/0CCF: 89 7F loop start (127 times) D0/0CD1: 83 21 move down 2 D0/0CD3: AE 41 update (bg3) hdma scroll data (horizontal) D0/0CD5: 80 70 command $80/$70 D0/0CD7: 00 [$00] D0/0CD8: 80 3E 17 enable (sprites, bg3, bg2, bg1) in main screen D0/0CDB: 8A loop end D0/0CDC: F7 A0 wait until scanline 160 D0/0CDE: 80 1A 01 command $80/$1A D0/0CE1: AD 85 set bg3 hdma scroll type to 5 D0/0CE3: 80 24 clear bg3 hdma scroll data D0/0CE5: FF end of script ; [ Animation Script $0245: Monster Exit $08: Fade Top to Bottom (bg3) ] D0/0CE6: 00 40 speed 1, align to top of character/monster D0/0CE8: C9 00 play default sound effect D0/0CEA: 9A set facing direction to match attacker D0/0CEB: F7 A0 wait until scanline 160 D0/0CED: D4 02 04 12 add (sprites, bg2) to (bg3) D0/0CF1: AD 87 set bg3 hdma scroll type to 7 D0/0CF3: AC 21 44 set (bg3) hdma scroll data (amplitude 4, frequency 1, horizontal) D0/0CF6: 89 05 loop start (5 times) D0/0CF8: 83 DF move up 32 D0/0CFA: 8A loop end D0/0CFB: 83 CF move up 16 D0/0CFD: 09 [$09] D0/0CFE: 89 88 loop start (136 times) D0/0D00: 83 21 move down 2 D0/0D02: AE 41 update (bg3) hdma scroll data (horizontal) D0/0D04: 80 70 command $80/$70 D0/0D06: 00 [$00] D0/0D07: 80 3E 17 enable (sprites, bg3, bg2, bg1) in main screen D0/0D0A: 8A loop end D0/0D0B: F7 A0 wait until scanline 160 D0/0D0D: 80 3E 16 enable (sprites, bg3, bg2) in main screen D0/0D10: F1 80 hide target monster sprite D0/0D12: AD 85 set bg3 hdma scroll type to 5 D0/0D14: 80 24 clear bg3 hdma scroll data D0/0D16: FF end of script ; [ Animation Script $0243: ] D0/0D17: 00 20 speed 1, align to center of character/monster D0/0D19: DB 03 branch to $0D1E if character already stepped forward to attack D0/0D1B: BF 67 70 jump to subroutine $7067 D0/0D1E: FF end of script ; [ Animation Script $0242: Monster Entry $0E: Chadarnook (sprite) ] D0/0D1F: 00 20 speed 1, align to center of character/monster D0/0D21: C9 00 play default sound effect D0/0D23: 83 CC move up 13 D0/0D25: 83 86 move back 7 D0/0D27: 82 07 07 change target graphic to 7 (jumping) D0/0D2A: 1F [---] D0/0D2B: 1F [---] D0/0D2C: 1F [---] D0/0D2D: 89 1F loop start (31 times) D0/0D2F: 00 [$00] D0/0D30: 8A loop end D0/0D31: 82 00 00 change target graphic to 0 (no action) D0/0D34: FF end of script ; [ Animation Script $0246: Lifeshaver (bg1) ] D0/0D35: 00 00 speed 1, align to bottom of character/monster D0/0D37: EE 20 set target sprite tile priority to 2 D0/0D39: D1 01 invalidate character/monster sprite priority D0/0D3B: CC FF set bg1 animation palette color subtraction to 31 (black) D0/0D3D: 89 08 loop start (8 times) D0/0D3F: 83 2F move down 16 D0/0D41: 8A loop end D0/0D42: 00 [$00] D0/0D43: BD A0 hide bg1 thread D0/0D45: C9 00 play default sound effect D0/0D47: 89 1F loop start (31 times) D0/0D49: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/0D4B: A3 16 32 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/0D4E: 00 [$00] D0/0D4F: BD A0 hide bg1 thread D0/0D51: 8A loop end D0/0D52: 89 08 loop start (8 times) D0/0D54: 82 07 17 change target graphic to 7 (jumping) if facing left or 23 (hands up, facing down) if facing right D0/0D57: A3 16 32 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/0D5A: 00 [$00] D0/0D5B: A3 16 32 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/0D5E: 00 [$00] D0/0D5F: 82 18 37 change target graphic to 24 (hands up, facing up) if facing left or 7 (jumping) if facing right D0/0D62: A3 16 32 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/0D65: 00 [$00] D0/0D66: A3 16 32 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/0D69: 00 [$00] D0/0D6A: 82 37 18 change target graphic to 7 (jumping) if facing left or 24 (hands up, facing up) if facing right D0/0D6D: A3 16 32 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/0D70: 00 [$00] D0/0D71: A3 16 32 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/0D74: 00 [$00] D0/0D75: 82 17 07 change target graphic to 23 (hands up, facing down) if facing left or 7 (jumping) if facing right D0/0D78: A3 16 32 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/0D7B: 00 [$00] D0/0D7C: A3 16 32 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/0D7F: 00 [$00] D0/0D80: 8A loop end D0/0D81: 82 00 00 change target graphic to 0 (no action) D0/0D84: 89 1F loop start (31 times) D0/0D86: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/0D88: A3 16 32 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/0D8B: 00 [$00] D0/0D8C: 8A loop end D0/0D8D: FF end of script ; [ Animation Script $023E: Monster Entry $06: Sand (sprite) ] D0/0D8E: 00 00 speed 1, align to bottom of character/monster D0/0D90: BF 25 5F jump to subroutine $5F25 D0/0D93: 9A set facing direction to match attacker D0/0D94: 83 27 move down 8 D0/0D96: EB jump based on thread ($0DC7, $0DB2, $0DA4, $0D9F) D0/0D9F: 83 8F move back 16 D0/0DA1: FA 18 10 jump to $1018 D0/0DA4: 83 6F move forward 16 D0/0DA6: 84 03 set animation speed to 4 D0/0DA8: 00 [$00] D0/0DA9: 01 [$01] D0/0DAA: 02 [$02] D0/0DAB: 03 [$03] D0/0DAC: 04 [$04] D0/0DAD: 05 [$05] D0/0DAE: 06 [$06] D0/0DAF: 01 [$01] D0/0DB0: 00 [$00] D0/0DB1: FF end of script D0/0DB2: 87 2F move target down 16 D0/0DB4: 80 1A 01 command $80/$1A D0/0DB7: 89 03 loop start (3 times) D0/0DB9: 87 C3 move target up 4 D0/0DBB: 00 [$00] D0/0DBC: 8A loop end D0/0DBD: 84 03 set animation speed to 4 D0/0DBF: 01 [$01] D0/0DC0: 02 [$02] D0/0DC1: 03 [$03] D0/0DC2: 04 [$04] D0/0DC3: 05 [$05] D0/0DC4: 06 [$06] D0/0DC5: 01 [$01] D0/0DC6: 00 [$00] D0/0DC7: FF end of script ; [ Animation Script $023F: Monster Exit $06: Sand (sprite) ] D0/0DC8: 00 00 speed 1, align to bottom of character/monster D0/0DCA: 9A set facing direction to match attacker D0/0DCB: BF 25 5F jump to subroutine $5F25 D0/0DCE: D1 01 invalidate character/monster sprite priority D0/0DD0: 83 27 move down 8 D0/0DD2: 89 03 loop start (3 times) D0/0DD4: 87 23 move target down 4 D0/0DD6: 1F [---] D0/0DD7: 8A loop end D0/0DD8: F1 80 hide target monster sprite D0/0DDA: 1F [---] D0/0DDB: 84 03 set animation speed to 4 D0/0DDD: 00 [$00] D0/0DDE: 01 [$01] D0/0DDF: 02 [$02] D0/0DE0: 03 [$03] D0/0DE1: 04 [$04] D0/0DE2: 05 [$05] D0/0DE3: 06 [$06] D0/0DE4: 01 [$01] D0/0DE5: 00 [$00] D0/0DE6: 87 CF move target up 16 D0/0DE8: FF end of script ; [ Animation Script $023D: Seize (bg1) ] D0/0DE9: 00 00 speed 1, align to bottom of character/monster D0/0DEB: C4 80 move bg1 thread to this thread's position D0/0DED: BD A0 hide bg1 thread D0/0DEF: D1 01 invalidate character/monster sprite priority D0/0DF1: AD 00 set bg1 hdma scroll type to 0 D0/0DF3: 89 04 loop start (4 times) D0/0DF5: 80 76 54 command $80/$76 D0/0DF8: 0F [$0F] D0/0DF9: 8A loop end D0/0DFA: 89 07 loop start (7 times) D0/0DFC: 0F [$0F] D0/0DFD: 8A loop end D0/0DFE: 89 04 loop start (4 times) D0/0E00: 80 76 AC command $80/$76 D0/0E03: 0F [$0F] D0/0E04: 8A loop end D0/0E05: 80 72 05 branch to $0E0D if attack hit D0/0E08: 80 25 clear bg1 hdma scroll data D0/0E0A: AD 03 set bg1 hdma scroll type to 3 D0/0E0C: FF end of script D0/0E0D: 80 77 command $80/$77 D0/0E0F: 80 25 clear bg1 hdma scroll data D0/0E11: AD 03 set bg1 hdma scroll type to 3 D0/0E13: FF end of script ; [ Animation Script $0214: Seize (sprite) ] D0/0E14: 00 20 speed 1, align to center of character/monster D0/0E16: 89 04 loop start (4 times) D0/0E18: 1F [---] D0/0E19: 8A loop end D0/0E1A: C9 00 play default sound effect D0/0E1C: 8B 0D animated loop start (13 times, increment frame offset each time) D0/0E1E: 00 [$00] D0/0E1F: 8C animated loop end D0/0E20: FF end of script ; [ Animation Script $023C: Monster Exit $05: Float (sprite) ] D0/0E21: 00 20 speed 1, align to center of character/monster D0/0E23: 9A set facing direction to match attacker D0/0E24: D1 01 invalidate character/monster sprite priority D0/0E26: 80 16 command $80/$16 D0/0E28: EF 40 80 move in flattened polar coordinates (64,-128) D0/0E2B: 89 13 loop start (19 times) D0/0E2D: 87 C7 move target up 8 D0/0E2F: EF 00 06 move in flattened polar coordinates (0,6) D0/0E32: 1F [---] D0/0E33: 8A loop end D0/0E34: F1 80 hide target monster sprite D0/0E36: 1F [---] D0/0E37: 89 04 loop start (4 times) D0/0E39: 87 3F move target down 32 D0/0E3B: 8A loop end D0/0E3C: FF end of script ; [ Animation Script $023B: Monster Entry $05: Float (sprite) ] D0/0E3D: 00 20 speed 1, align to center of character/monster D0/0E3F: 9A set facing direction to match attacker D0/0E40: D1 01 invalidate character/monster sprite priority D0/0E42: 80 16 command $80/$16 D0/0E44: EF 40 80 move in flattened polar coordinates (64,-128) D0/0E47: 89 04 loop start (4 times) D0/0E49: 87 DF move target up 32 D0/0E4B: 8A loop end D0/0E4C: 80 1A 01 command $80/$1A D0/0E4F: BF 56 0E jump to subroutine $0E56 D0/0E52: BF 56 0E jump to subroutine $0E56 D0/0E55: FF end of script D0/0E56: 87 21 move target down 2 D0/0E58: 87 62 move target forward 3 D0/0E5A: 1F [---] D0/0E5B: 87 21 move target down 2 D0/0E5D: 87 62 move target forward 3 D0/0E5F: 1F [---] D0/0E60: 87 21 move target down 2 D0/0E62: 87 62 move target forward 3 D0/0E64: 1F [---] D0/0E65: 87 21 move target down 2 D0/0E67: 87 61 move target forward 2 D0/0E69: 1F [---] D0/0E6A: 87 21 move target down 2 D0/0E6C: 87 61 move target forward 2 D0/0E6E: 1F [---] D0/0E6F: 87 21 move target down 2 D0/0E71: 87 61 move target forward 2 D0/0E73: 1F [---] D0/0E74: 87 21 move target down 2 D0/0E76: 87 60 move target forward 1 D0/0E78: 1F [---] D0/0E79: 87 21 move target down 2 D0/0E7B: 87 60 move target forward 1 D0/0E7D: 1F [---] D0/0E7E: 87 21 move target down 2 D0/0E80: 87 60 move target forward 1 D0/0E82: 1F [---] D0/0E83: 87 21 move target down 2 D0/0E85: 1F [---] D0/0E86: 87 21 move target down 2 D0/0E88: 1F [---] D0/0E89: 87 21 move target down 2 D0/0E8B: 87 80 move target back 1 D0/0E8D: 1F [---] D0/0E8E: 87 21 move target down 2 D0/0E90: 87 80 move target back 1 D0/0E92: 1F [---] D0/0E93: 87 21 move target down 2 D0/0E95: 87 80 move target back 1 D0/0E97: 1F [---] D0/0E98: 87 21 move target down 2 D0/0E9A: 87 81 move target back 2 D0/0E9C: 1F [---] D0/0E9D: 87 21 move target down 2 D0/0E9F: 87 81 move target back 2 D0/0EA1: 1F [---] D0/0EA2: 87 21 move target down 2 D0/0EA4: 87 81 move target back 2 D0/0EA6: 1F [---] D0/0EA7: 87 21 move target down 2 D0/0EA9: 87 82 move target back 3 D0/0EAB: 1F [---] D0/0EAC: 87 21 move target down 2 D0/0EAE: 87 82 move target back 3 D0/0EB0: 1F [---] D0/0EB1: 87 21 move target down 2 D0/0EB3: 87 82 move target back 3 D0/0EB5: 1F [---] D0/0EB6: 87 21 move target down 2 D0/0EB8: 87 82 move target back 3 D0/0EBA: 1F [---] D0/0EBB: 87 21 move target down 2 D0/0EBD: 87 82 move target back 3 D0/0EBF: 1F [---] D0/0EC0: 87 21 move target down 2 D0/0EC2: 87 82 move target back 3 D0/0EC4: 1F [---] D0/0EC5: 87 21 move target down 2 D0/0EC7: 87 81 move target back 2 D0/0EC9: 1F [---] D0/0ECA: 87 21 move target down 2 D0/0ECC: 87 81 move target back 2 D0/0ECE: 1F [---] D0/0ECF: 87 21 move target down 2 D0/0ED1: 87 81 move target back 2 D0/0ED3: 1F [---] D0/0ED4: 87 21 move target down 2 D0/0ED6: 87 80 move target back 1 D0/0ED8: 1F [---] D0/0ED9: 87 21 move target down 2 D0/0EDB: 87 80 move target back 1 D0/0EDD: 1F [---] D0/0EDE: 87 21 move target down 2 D0/0EE0: 87 80 move target back 1 D0/0EE2: 1F [---] D0/0EE3: 87 21 move target down 2 D0/0EE5: 1F [---] D0/0EE6: 87 21 move target down 2 D0/0EE8: 1F [---] D0/0EE9: 87 21 move target down 2 D0/0EEB: 87 60 move target forward 1 D0/0EED: 1F [---] D0/0EEE: 87 21 move target down 2 D0/0EF0: 87 60 move target forward 1 D0/0EF2: 1F [---] D0/0EF3: 87 21 move target down 2 D0/0EF5: 87 60 move target forward 1 D0/0EF7: 1F [---] D0/0EF8: 87 21 move target down 2 D0/0EFA: 87 61 move target forward 2 D0/0EFC: 1F [---] D0/0EFD: 87 21 move target down 2 D0/0EFF: 87 61 move target forward 2 D0/0F01: 1F [---] D0/0F02: 87 21 move target down 2 D0/0F04: 87 61 move target forward 2 D0/0F06: 1F [---] D0/0F07: 87 21 move target down 2 D0/0F09: 87 62 move target forward 3 D0/0F0B: 1F [---] D0/0F0C: 87 21 move target down 2 D0/0F0E: 87 62 move target forward 3 D0/0F10: 1F [---] D0/0F11: 87 21 move target down 2 D0/0F13: 87 62 move target forward 3 D0/0F15: 1F [---] D0/0F16: C0 return from subroutine ; [ Animation Script $023A: Event Animation $0E: Transform into Magicite (bg3) ] D0/0F17: 00 20 speed 1, align to center of character/monster D0/0F19: D1 01 invalidate character/monster sprite priority D0/0F1B: C4 40 move bg3 thread to this thread's position D0/0F1D: 00 [$00] D0/0F1E: BD 50 hide bg3 thread D0/0F20: C9 24 play sound effect $24 D0/0F22: A5 80 64 50 DE FF 80 00 init circle at (128,100) D0/0F2A: C3 move circle to target D0/0F2B: AD 87 set bg3 hdma scroll type to 7 D0/0F2D: AC 22 44 set (bg3) hdma scroll data (amplitude 4, frequency 2, horizontal) D0/0F30: B0 FF set background color addition to 31 (white) D0/0F32: AB FF set bg3 animation palette color addition to 31 (white) D0/0F34: EE 00 set target sprite tile priority to 0 D0/0F36: 89 25 loop start (37 times) D0/0F38: A6 00 00 FF move circle (+0,+0) and shrink by 1 D0/0F3C: A7 update circle D0/0F3D: AE 41 update (bg3) hdma scroll data (horizontal) D0/0F3F: B5 F2 decrease background color addition by 2 (white) D0/0F41: B3 F2 decrease bg3 animation palette color addition by 2 (white) D0/0F43: 00 [$00] D0/0F44: 8A loop end D0/0F45: 89 12 loop start (18 times) D0/0F47: A6 00 00 FE move circle (+0,+0) and shrink by 2 D0/0F4B: A7 update circle D0/0F4C: AE 41 update (bg3) hdma scroll data (horizontal) D0/0F4E: B5 F2 decrease background color addition by 2 (white) D0/0F50: B3 F2 decrease bg3 animation palette color addition by 2 (white) D0/0F52: 00 [$00] D0/0F53: 8A loop end D0/0F54: AD 85 set bg3 hdma scroll type to 5 D0/0F56: F1 80 hide target monster sprite D0/0F58: FF end of script ; [ Animation Script $0239: Event Animation $0E: Transform into Magicite (sprite) ] D0/0F59: 00 20 speed 1, align to center of character/monster D0/0F5B: D1 01 invalidate character/monster sprite priority D0/0F5D: 85 move to attacker position D0/0F5E: 95 calculate vector from attacker to target D0/0F5F: EB jump based on thread ($0F70, $0FED, $0FED, $0FED, $0FED, $0FED, $0FED, $0FED) D0/0F70: C9 00 play default sound effect D0/0F72: 81 07 07 change attacker graphic to 7 (jumping) D0/0F75: 80 1D command $80/$1D D0/0F77: 00 [$00] D0/0F78: 92 01 05 move along vector at speed 1, branch to $0F75 D0/0F7B: 80 10 move to target position D0/0F7D: 81 00 00 change attacker graphic to 0 (no action) D0/0F80: 83 AF move up/forward 16 D0/0F82: C9 00 play default sound effect D0/0F84: 89 40 loop start (64 times) D0/0F86: E9 1F 1F move animation randomly (0..31,0..31) D0/0F89: 1F [---] D0/0F8A: 8A loop end D0/0F8B: C2 40 unpause bg3 thread D0/0F8D: 89 40 loop start (64 times) D0/0F8F: E9 1F 1F move animation randomly (0..31,0..31) D0/0F92: 1F [---] D0/0F93: 8A loop end D0/0F94: C9 47 play sound effect $47 D0/0F96: 83 4F move down/back 16 D0/0F98: E9 00 00 move animation randomly (0..0,0..0) D0/0F9B: 1F [---] D0/0F9C: 08 [$08] D0/0F9D: 83 C3 move up 4 D0/0F9F: 83 61 move forward 2 D0/0FA1: 1F [---] D0/0FA2: 08 [$08] D0/0FA3: 83 C2 move up 3 D0/0FA5: 83 61 move forward 2 D0/0FA7: 1F [---] D0/0FA8: 08 [$08] D0/0FA9: 83 C1 move up 2 D0/0FAB: 83 61 move forward 2 D0/0FAD: 1F [---] D0/0FAE: 08 [$08] D0/0FAF: 83 C1 move up 2 D0/0FB1: 83 61 move forward 2 D0/0FB3: 1F [---] D0/0FB4: 08 [$08] D0/0FB5: 83 21 move down 2 D0/0FB7: 83 61 move forward 2 D0/0FB9: 1F [---] D0/0FBA: 08 [$08] D0/0FBB: 83 21 move down 2 D0/0FBD: 83 61 move forward 2 D0/0FBF: 1F [---] D0/0FC0: 08 [$08] D0/0FC1: 83 22 move down 3 D0/0FC3: 83 61 move forward 2 D0/0FC5: 1F [---] D0/0FC6: 08 [$08] D0/0FC7: 83 23 move down 4 D0/0FC9: 83 61 move forward 2 D0/0FCB: 1F [---] D0/0FCC: 08 [$08] D0/0FCD: 89 1F loop start (31 times) D0/0FCF: 1F [---] D0/0FD0: 08 [$08] D0/0FD1: 8A loop end D0/0FD2: E7 calculate vector from attacking character to target D0/0FD3: C7 07 update character action based on vector direction (walking) D0/0FD5: 80 1B command $80/$1B D0/0FD7: 08 [$08] D0/0FD8: E5 01 03 00 move character forward along vector at speed 1 and height 0, branch to $0FD7 D0/0FDC: C8 00 change attacker action to 0 (no action) D0/0FDE: 81 06 06 change attacker graphic to 6 (walking forward, frame 3) D0/0FE1: 89 0F loop start (15 times) D0/0FE3: 83 80 move back 1 D0/0FE5: 08 [$08] D0/0FE6: 08 [$08] D0/0FE7: 08 [$08] D0/0FE8: 8A loop end D0/0FE9: 81 00 00 change attacker graphic to 0 (no action) D0/0FEC: FF end of script D0/0FED: 84 03 set animation speed to 4 D0/0FEF: 89 05 loop start (5 times) D0/0FF1: 80 0C move to first sprite thread position D0/0FF3: 00 [$00] D0/0FF4: 01 [$01] D0/0FF5: 02 [$02] D0/0FF6: 03 [$03] D0/0FF7: 04 [$04] D0/0FF8: 05 [$05] D0/0FF9: 06 [$06] D0/0FFA: 07 [$07] D0/0FFB: 8A loop end D0/0FFC: FF end of script ; [ Animation Script $0230: Event Animation $05: Bahamut (bg1) ] D0/0FFD: 00 20 speed 1, align to center of character/monster D0/0FFF: FF end of script ; [ Animation Script $022E: Monster Entry $04: Water (sprite) ] D0/1000: 00 00 speed 1, align to bottom of character/monster D0/1002: BF 25 5F jump to subroutine $5F25 D0/1005: 9A set facing direction to match attacker D0/1006: 83 3F move down 32 D0/1008: EB jump based on thread ($103E, $1024, $1016, $1011) D0/1011: 83 8F move back 16 D0/1013: FA 18 10 jump to $1018 D0/1016: 83 6F move forward 16 D0/1018: 84 03 set animation speed to 4 D0/101A: 00 [$00] D0/101B: 01 [$01] D0/101C: 02 [$02] D0/101D: 03 [$03] D0/101E: 04 [$04] D0/101F: 05 [$05] D0/1020: 06 [$06] D0/1021: 01 [$01] D0/1022: 00 [$00] D0/1023: FF end of script D0/1024: 87 3F move target down 32 D0/1026: 80 1A 01 command $80/$1A D0/1029: 89 03 loop start (3 times) D0/102B: 87 C3 move target up 4 D0/102D: 00 [$00] D0/102E: 8A loop end D0/102F: 89 03 loop start (3 times) D0/1031: 87 C3 move target up 4 D0/1033: 01 [$01] D0/1034: 8A loop end D0/1035: 84 03 set animation speed to 4 D0/1037: 02 [$02] D0/1038: 03 [$03] D0/1039: 04 [$04] D0/103A: 05 [$05] D0/103B: 06 [$06] D0/103C: 01 [$01] D0/103D: 00 [$00] D0/103E: FF end of script ; [ Animation Script $022F: Monster Exit $04: Water (sprite) ] D0/103F: 00 00 speed 1, align to bottom of character/monster D0/1041: 9A set facing direction to match attacker D0/1042: D1 01 invalidate character/monster sprite priority D0/1044: BF 25 5F jump to subroutine $5F25 D0/1047: 83 3F move down 32 D0/1049: 89 07 loop start (7 times) D0/104B: 87 23 move target down 4 D0/104D: 1F [---] D0/104E: 8A loop end D0/104F: F1 80 hide target monster sprite D0/1051: 1F [---] D0/1052: 84 03 set animation speed to 4 D0/1054: 00 [$00] D0/1055: 01 [$01] D0/1056: 02 [$02] D0/1057: 03 [$03] D0/1058: 04 [$04] D0/1059: 05 [$05] D0/105A: 06 [$06] D0/105B: 01 [$01] D0/105C: 00 [$00] D0/105D: 87 DF move target up 32 D0/105F: FF end of script ; [ Animation Script $022C: Monster Entry $03/$07: Sides (sprite) ] D0/1060: 00 20 speed 1, align to center of character/monster D0/1062: 9A set facing direction to match attacker D0/1063: D1 01 invalidate character/monster sprite priority D0/1065: 89 07 loop start (7 times) D0/1067: 87 9F move target back 32 D0/1069: 8A loop end D0/106A: 80 1A 01 command $80/$1A D0/106D: 89 0F loop start (15 times) D0/106F: 87 6F move target forward 16 D0/1071: 1F [---] D0/1072: 8A loop end D0/1073: FF end of script ; [ Animation Script $022D: Monster Exit $03/$07: Sides (sprite) ] D0/1074: 00 20 speed 1, align to center of character/monster D0/1076: 9A set facing direction to match attacker D0/1077: D1 01 invalidate character/monster sprite priority D0/1079: 89 1F loop start (31 times) D0/107B: 87 87 move target back 8 D0/107D: 1F [---] D0/107E: 8A loop end D0/107F: F1 80 hide target monster sprite D0/1081: 1F [---] D0/1082: 89 07 loop start (7 times) D0/1084: 87 7F move target forward 32 D0/1086: 8A loop end D0/1087: FF end of script ; [ Animation Script $022B: Monster Exit $02: Ceiling (sprite) ] D0/1088: 00 20 speed 1, align to center of character/monster D0/108A: 9A set facing direction to match attacker D0/108B: D1 01 invalidate character/monster sprite priority D0/108D: 89 13 loop start (19 times) D0/108F: 87 C7 move target up 8 D0/1091: 1F [---] D0/1092: 8A loop end D0/1093: F1 80 hide target monster sprite D0/1095: 1F [---] D0/1096: 89 04 loop start (4 times) D0/1098: 87 3F move target down 32 D0/109A: 8A loop end D0/109B: FF end of script ; [ Animation Script $022A: Monster Entry $02: Ceiling (sprite) ] D0/109C: 00 20 speed 1, align to center of character/monster D0/109E: 9A set facing direction to match attacker D0/109F: D1 01 invalidate character/monster sprite priority D0/10A1: 89 04 loop start (4 times) D0/10A3: 87 DF move target up 32 D0/10A5: 8A loop end D0/10A6: 80 1A 01 command $80/$1A D0/10A9: 89 13 loop start (19 times) D0/10AB: 87 27 move target down 8 D0/10AD: 1F [---] D0/10AE: 8A loop end D0/10AF: FF end of script ; [ Animation Script $0229: Monster Entry $01: Puff of Smoke (sprite) ] D0/10B0: 40 20 speed 5, align to center of character/monster D0/10B2: 9A set facing direction to match attacker D0/10B3: 83 AF move up/forward 16 D0/10B5: E9 1F 1F move animation randomly (0..31,0..31) D0/10B8: C9 00 play default sound effect D0/10BA: 00 [$00] D0/10BB: 01 [$01] D0/10BC: 02 [$02] D0/10BD: 03 [$03] D0/10BE: 04 [$04] D0/10BF: 05 [$05] D0/10C0: E9 1F 1F move animation randomly (0..31,0..31) D0/10C3: 00 [$00] D0/10C4: 01 [$01] D0/10C5: 02 [$02] D0/10C6: 80 1A 01 command $80/$1A D0/10C9: 03 [$03] D0/10CA: 04 [$04] D0/10CB: 05 [$05] D0/10CC: FF end of script ; [ Animation Script $0228: Heal Force (sprite) ] D0/10CD: 00 20 speed 1, align to center of character/monster D0/10CF: D1 01 invalidate character/monster sprite priority D0/10D1: 89 18 loop start (24 times) D0/10D3: 1F [---] D0/10D4: 8A loop end D0/10D5: 84 03 set animation speed to 4 D0/10D7: C9 00 play default sound effect D0/10D9: 8B 10 animated loop start (16 times, increment frame offset each time) D0/10DB: 00 [$00] D0/10DC: 8C animated loop end D0/10DD: C9 29 play sound effect $29 D0/10DF: 11 [$11] D0/10E0: 12 [$12] D0/10E1: 13 [$13] D0/10E2: 14 [$14] D0/10E3: 15 [$15] D0/10E4: 16 [$16] D0/10E5: 17 [$17] D0/10E6: 18 [$18] D0/10E7: 19 [$19] D0/10E8: FF end of script ; [ Animation Script $0225: Possess (bg1) ] D0/10E9: 00 20 speed 1, align to center of character/monster D0/10EB: 80 72 04 branch to $10F2 if attack hit D0/10EE: BF 67 70 jump to subroutine $7067 D0/10F1: FF end of script D0/10F2: E1 00 hide attacking character sprite D0/10F4: 85 move to attacker position D0/10F5: 95 calculate vector from attacker to target D0/10F6: 93 00 move to vector position 0 D0/10F8: 80 17 update sprite layer priority based on target D0/10FA: EE 20 set target sprite tile priority to 2 D0/10FC: F3 jump based on attacker ($1107, $1120, $1137, $114E, $1164) D0/1107: C9 00 play default sound effect D0/1109: 80 5D command $80/$5D D0/110B: 00 [$00] D0/110C: 92 02 05 move along vector at speed 2, branch to $1109 D0/110F: 80 5D command $80/$5D D0/1111: F7 A0 wait until scanline 160 D0/1113: D4 02 01 12 add (sprites, bg2) to (bg1) D0/1117: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/1119: 89 1F loop start (31 times) D0/111B: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/111D: 00 [$00] D0/111E: 8A loop end D0/111F: FF end of script D0/1120: C9 00 play default sound effect D0/1122: 80 5D command $80/$5D D0/1124: 01 [$01] D0/1125: 92 02 05 move along vector at speed 2, branch to $1122 D0/1128: 80 5D command $80/$5D D0/112A: D4 02 01 12 add (sprites, bg2) to (bg1) D0/112E: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/1130: 89 1F loop start (31 times) D0/1132: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/1134: 01 [$01] D0/1135: 8A loop end D0/1136: FF end of script D0/1137: C9 00 play default sound effect D0/1139: 80 5D command $80/$5D D0/113B: 02 [$02] D0/113C: 92 02 05 move along vector at speed 2, branch to $1139 D0/113F: 80 5D command $80/$5D D0/1141: D4 02 01 12 add (sprites, bg2) to (bg1) D0/1145: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/1147: 89 1F loop start (31 times) D0/1149: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/114B: 02 [$02] D0/114C: 8A loop end D0/114D: FF end of script D0/114E: C9 00 play default sound effect D0/1150: 80 5D command $80/$5D D0/1152: 03 [$03] D0/1153: 92 02 05 move along vector at speed 2, branch to $1150 D0/1156: 80 5D command $80/$5D D0/1158: D4 02 01 12 add (sprites, bg2) to (bg1) D0/115C: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/115E: 89 1F loop start (31 times) D0/1160: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/1162: 03 [$03] D0/1163: 8A loop end D0/1164: FF end of script ; [ Animation Script $0224: Cure 3 (sprite) ] D0/1165: 00 20 speed 1, align to center of character/monster D0/1167: 80 16 command $80/$16 D0/1169: E8 30 00 move in polar coordinates (48,0) D0/116C: EB jump based on thread ($117C, $11A7, $1175, $1175) D0/1175: 89 40 loop start (64 times) D0/1177: 1F [---] D0/1178: 8A loop end D0/1179: FA CB 11 jump to $11CB D0/117C: D1 01 invalidate character/monster sprite priority D0/117E: C9 00 play default sound effect D0/1180: 1F [---] D0/1181: 1F [---] D0/1182: 1F [---] D0/1183: E8 00 80 move in polar coordinates (0,-128) D0/1186: 89 10 loop start (16 times) D0/1188: E8 00 FA move in polar coordinates (0,-6) D0/118B: 00 [$00] D0/118C: 8A loop end D0/118D: 89 10 loop start (16 times) D0/118F: E8 00 FA move in polar coordinates (0,-6) D0/1192: 01 [$01] D0/1193: 8A loop end D0/1194: 89 10 loop start (16 times) D0/1196: E8 00 FA move in polar coordinates (0,-6) D0/1199: 02 [$02] D0/119A: 8A loop end D0/119B: 89 10 loop start (16 times) D0/119D: E8 00 FA move in polar coordinates (0,-6) D0/11A0: 03 [$03] D0/11A1: 8A loop end D0/11A2: C9 7D play sound effect $7D D0/11A4: FA CB 11 jump to $11CB D0/11A7: 89 10 loop start (16 times) D0/11A9: 80 65 change rainbow palette D0/11AB: E8 00 FA move in polar coordinates (0,-6) D0/11AE: 00 [$00] D0/11AF: 8A loop end D0/11B0: 89 10 loop start (16 times) D0/11B2: 80 65 change rainbow palette D0/11B4: E8 00 FA move in polar coordinates (0,-6) D0/11B7: 01 [$01] D0/11B8: 8A loop end D0/11B9: 89 10 loop start (16 times) D0/11BB: 80 65 change rainbow palette D0/11BD: E8 00 FA move in polar coordinates (0,-6) D0/11C0: 02 [$02] D0/11C1: 8A loop end D0/11C2: 89 10 loop start (16 times) D0/11C4: 80 65 change rainbow palette D0/11C6: E8 00 FA move in polar coordinates (0,-6) D0/11C9: 03 [$03] D0/11CA: 8A loop end D0/11CB: 84 02 set animation speed to 3 D0/11CD: 89 05 loop start (5 times) D0/11CF: E9 1F 1F move animation randomly (0..31,0..31) D0/11D2: 04 [$04] D0/11D3: 05 [$05] D0/11D4: 06 [$06] D0/11D5: 07 [$07] D0/11D6: 8A loop end D0/11D7: FF end of script ; [ Animation Script $01C2: Meteo (bg3) ] D0/11D8: 00 20 speed 1, align to center of character/monster D0/11DA: BD 50 hide bg3 thread D0/11DC: B0 80 set background color addition to 0 (red) D0/11DE: 89 1F loop start (31 times) D0/11E0: B5 81 increase background color addition by 1 (red) D0/11E2: 09 [$09] D0/11E3: 8A loop end D0/11E4: 89 50 loop start (80 times) D0/11E6: 09 [$09] D0/11E7: 8A loop end D0/11E8: 89 1F loop start (31 times) D0/11EA: B5 91 decrease background color addition by 1 (red) D0/11EC: 09 [$09] D0/11ED: 8A loop end D0/11EE: FF end of script ; [ Animation Script $01BB: Magnitude8 (sprite) ] D0/11EF: 00 20 speed 1, align to center of character/monster D0/11F1: 89 1F loop start (31 times) D0/11F3: 1F [---] D0/11F4: 8A loop end D0/11F5: 89 1F loop start (31 times) D0/11F7: 87 61 move target forward 2 D0/11F9: 1F [---] D0/11FA: 87 81 move target back 2 D0/11FC: 1F [---] D0/11FD: 8A loop end D0/11FE: FF end of script ; [ Animation Script $018E: Slow, Slow 2 (bg3) ] D0/11FF: 00 20 speed 1, align to center of character/monster D0/1201: D1 01 invalidate character/monster sprite priority D0/1203: C9 00 play default sound effect D0/1205: C4 40 move bg3 thread to this thread's position D0/1207: 09 [$09] D0/1208: F7 A0 wait until scanline 160 D0/120A: 80 3E 13 enable (sprites, bg2, bg1) in main screen D0/120D: AD 87 set bg3 hdma scroll type to 7 D0/120F: AC 21 44 set (bg3) hdma scroll data (amplitude 4, frequency 1, horizontal) D0/1212: AA FF set bg3 animation palette color subtraction to 31 (black) D0/1214: AE 41 update (bg3) hdma scroll data (horizontal) D0/1216: 00 [$00] D0/1217: EA 41 set bg3 tile data quadrant to 1 D0/1219: 00 [$00] D0/121A: AE 41 update (bg3) hdma scroll data (horizontal) D0/121C: BD 50 hide bg3 thread D0/121E: F7 A0 wait until scanline 160 D0/1220: 80 3E 17 enable (sprites, bg3, bg2, bg1) in main screen D0/1223: 89 1F loop start (31 times) D0/1225: 83 60 move forward 1 D0/1227: B4 F1 decrease bg3 animation palette color subtraction by 1 (black) D0/1229: AE 41 update (bg3) hdma scroll data (horizontal) D0/122B: 00 [$00] D0/122C: 8A loop end D0/122D: 89 40 loop start (64 times) D0/122F: 83 60 move forward 1 D0/1231: AE 41 update (bg3) hdma scroll data (horizontal) D0/1233: 00 [$00] D0/1234: 8A loop end D0/1235: 89 1F loop start (31 times) D0/1237: 83 60 move forward 1 D0/1239: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/123B: AE 41 update (bg3) hdma scroll data (horizontal) D0/123D: 00 [$00] D0/123E: 8A loop end D0/123F: F7 A0 wait until scanline 160 D0/1241: AD 85 set bg3 hdma scroll type to 5 D0/1243: BD 40 show bg3 thread D0/1245: EA 41 set bg3 tile data quadrant to 1 D0/1247: 80 24 clear bg3 hdma scroll data D0/1249: 09 [$09] D0/124A: FF end of script ; [ Animation Script $0181: WaveCannon (sprite) ] D0/124B: 20 20 speed 3, align to center of character/monster D0/124D: D0 20 set tile priority to 2 for all character/monster sprites D0/124F: 89 15 loop start (21 times) D0/1251: 1F [---] D0/1252: 8A loop end D0/1253: 83 AF move up/forward 16 D0/1255: E9 1F 1F move animation randomly (0..31,0..31) D0/1258: 8B 08 animated loop start (8 times, increment frame offset each time) D0/125A: 00 [$00] D0/125B: 8C animated loop end D0/125C: FF end of script ; [ Animation Script $0133: WaveCannon (bg1) ] D0/125D: 00 20 speed 1, align to center of character/monster D0/125F: C4 80 move bg1 thread to this thread's position D0/1261: D1 01 invalidate character/monster sprite priority D0/1263: C9 00 play default sound effect D0/1265: D0 20 set tile priority to 2 for all character/monster sprites D0/1267: A5 00 00 00 FF FF 80 00 init circle at (0,0) D0/126F: A8 move circle to attacker D0/1270: 80 17 update sprite layer priority based on target D0/1272: EC 01 change thread layer to bg1 D0/1274: D0 20 set tile priority to 2 for all character/monster sprites D0/1276: EA 81 set bg1 tile data quadrant to 1 D0/1278: 00 [$00] D0/1279: 00 [$00] D0/127A: 89 32 loop start (50 times) D0/127C: A6 00 00 04 move circle (+0,+0) and grow by 4 D0/1280: A9 FC 00 move circle (-4,+0) D0/1283: 83 6F move forward 16 D0/1285: F7 D0 wait until scanline 208 D0/1287: A7 update circle D0/1288: 00 [$00] D0/1289: 8A loop end D0/128A: 89 40 loop start (64 times) D0/128C: 83 6F move forward 16 D0/128E: F7 D0 wait until scanline 208 D0/1290: A7 update circle D0/1291: 00 [$00] D0/1292: 8A loop end D0/1293: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/1295: 89 1F loop start (31 times) D0/1297: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/1299: 83 6F move forward 16 D0/129B: F7 D0 wait until scanline 208 D0/129D: A7 update circle D0/129E: 00 [$00] D0/129F: 8A loop end D0/12A0: EA 81 set bg1 tile data quadrant to 1 D0/12A2: 0F [$0F] D0/12A3: FF end of script ; [ Animation Script $021A: Purifier (bg1) ] D0/12A4: 00 20 speed 1, align to center of character/monster D0/12A6: D1 01 invalidate character/monster sprite priority D0/12A8: BD A0 hide bg1 thread D0/12AA: BF 16 55 jump to subroutine $5516 D0/12AD: C4 80 move bg1 thread to this thread's position D0/12AF: 80 8C 00 play sound effect $00 (pan center) D0/12B2: 89 D0 loop start (208 times) D0/12B4: 0F [$0F] D0/12B5: 8A loop end D0/12B6: 80 32 CC 12 BC 12 jump to $12CC (left) or $12BC (right) D0/12BC: 80 42 01 mirror bg1 horizontal (mode 7) D0/12BF: 83 7F move forward 32 D0/12C1: 83 7F move forward 32 D0/12C3: 83 7F move forward 32 D0/12C5: 83 DF move up 32 D0/12C7: 83 C7 move up 8 D0/12C9: FA D9 12 jump to $12D9 D0/12CC: 80 42 00 disable bg1 mirroring (mode 7) D0/12CF: 83 9F move back 32 D0/12D1: 83 9F move back 32 D0/12D3: 83 9F move back 32 D0/12D5: 83 DF move up 32 D0/12D7: 83 C7 move up 8 D0/12D9: F7 A0 wait until scanline 160 D0/12DB: 80 3E 11 enable (sprites, bg1) in main screen D0/12DE: 80 40 07 set screen to mode 7 D0/12E1: D0 30 set tile priority to 3 for all character/monster sprites D0/12E3: 80 41 00 00 BA BA zoom bg1 (0,0), move bg1 (-70,-70) D0/12E9: 80 41 00 00 D8 21 zoom bg1 (0,0), move bg1 (-40,33) D0/12EF: 89 1E loop start (30 times) D0/12F1: 80 41 FC FC 03 02 zoom bg1 (-4,-4), move bg1 (3,2) D0/12F7: 0F [$0F] D0/12F8: 8A loop end D0/12F9: D0 00 set tile priority to 0 for all character/monster sprites D0/12FB: 89 1D loop start (29 times) D0/12FD: 80 41 FC FC 03 02 zoom bg1 (-4,-4), move bg1 (3,2) D0/1303: 0F [$0F] D0/1304: 8A loop end D0/1305: F7 A0 wait until scanline 160 D0/1307: D0 30 set tile priority to 3 for all character/monster sprites D0/1309: 0F [$0F] D0/130A: F7 A0 wait until scanline 160 D0/130C: 80 3E 12 enable (sprites, bg2) in main screen D0/130F: 80 40 01 set screen to mode 1 D0/1312: 89 30 loop start (48 times) D0/1314: 0F [$0F] D0/1315: 0F [$0F] D0/1316: 8A loop end D0/1317: BF 49 55 jump to subroutine $5549 D0/131A: BF A0 2C jump to subroutine $2CA0 D0/131D: 80 26 00 enable character palette updates D0/1320: 80 71 restore character palettes D0/1322: FF end of script ; [ Animation Script $00AF: Purifier (bg3) ] D0/1323: 00 20 speed 1, align to center of character/monster D0/1325: C4 40 move bg3 thread to this thread's position D0/1327: 80 32 2D 13 38 13 jump to $132D (left) or $1338 (right) D0/132D: A5 C0 68 40 FF FF 80 00 init circle at (192,104) D0/1335: FA 40 13 jump to $1340 D0/1338: A5 40 68 40 FF FF 80 00 init circle at (64,104) D0/1340: AF E0 set background color subtraction to 0 (black) D0/1342: 89 20 loop start (32 times) D0/1344: 09 [$09] D0/1345: 8A loop end D0/1346: 89 0F loop start (15 times) D0/1348: B6 62 increase background color subtraction by 2 (red) D0/134A: 09 [$09] D0/134B: 8A loop end D0/134C: 89 2C loop start (44 times) D0/134E: 09 [$09] D0/134F: 8A loop end D0/1350: F7 A0 wait until scanline 160 D0/1352: D4 02 04 12 add (sprites, bg2) to (bg3) D0/1356: 89 1E loop start (30 times) D0/1358: A6 00 00 FE move circle (+0,+0) and shrink by 2 D0/135C: A9 FE 00 move circle (-2,+0) D0/135F: A7 update circle D0/1360: 08 [$08] D0/1361: 8A loop end D0/1362: 80 58 07 set circle shape to ultima D0/1365: 89 18 loop start (24 times) D0/1367: A6 00 00 04 move circle (+0,+0) and grow by 4 D0/136B: A7 update circle D0/136C: 08 [$08] D0/136D: 8A loop end D0/136E: 80 57 CC enable bg3 in window 2 only D0/1371: 8B 07 animated loop start (7 times, increment frame offset each time) D0/1373: 00 [$00] D0/1374: 00 [$00] D0/1375: 00 [$00] D0/1376: 8C animated loop end D0/1377: 8B 07 animated loop start (7 times, increment frame offset each time) D0/1379: 00 [$00] D0/137A: 00 [$00] D0/137B: 00 [$00] D0/137C: 8C animated loop end D0/137D: 09 [$09] D0/137E: 89 1F loop start (31 times) D0/1380: B6 81 increase background color subtraction by 1 (cyan) D0/1382: 09 [$09] D0/1383: 8A loop end D0/1384: 89 80 loop start (128 times) D0/1386: 09 [$09] D0/1387: 8A loop end D0/1388: 89 1F loop start (31 times) D0/138A: B6 F1 decrease background color subtraction by 1 (black) D0/138C: 09 [$09] D0/138D: 8A loop end D0/138E: FF end of script ; [ Animation Script $0219: Purifier (sprite) ] D0/138F: 00 20 speed 1, align to center of character/monster D0/1391: 80 2E 80 48 move to (128,72) D0/1395: 89 24 loop start (36 times) D0/1397: 1F [---] D0/1398: 8A loop end D0/1399: 80 26 01 disable character palette updates D0/139C: 1F [---] D0/139D: EB jump based on thread ($13A4, $13C5, $13F9) D0/13A4: 1F [---] D0/13A5: 1F [---] D0/13A6: 80 68 command $80/$68 D0/13A8: 80 64 command $80/$64 D0/13AA: 99 0C change palette to 14 (character 3/crusader 1) D0/13AC: 83 2F move down 16 D0/13AE: 83 DF move up 32 D0/13B0: 83 DF move up 32 D0/13B2: 83 DF move up 32 D0/13B4: 83 DF move up 32 D0/13B6: 89 0F loop start (15 times) D0/13B8: 1F [---] D0/13B9: 8A loop end D0/13BA: 89 0F loop start (15 times) D0/13BC: 83 27 move down 8 D0/13BE: 02 [$02] D0/13BF: 8A loop end D0/13C0: 89 A8 loop start (168 times) D0/13C2: 02 [$02] D0/13C3: 8A loop end D0/13C4: FF end of script D0/13C5: 1F [---] D0/13C6: 80 67 command $80/$67 D0/13C8: 99 0E change palette to 14 (character 3/crusader 1) D0/13CA: 83 E7 move up/back 8 D0/13CC: 1F [---] D0/13CD: 83 1F move down/forward 32 D0/13CF: 83 1F move down/forward 32 D0/13D1: 83 1F move down/forward 32 D0/13D3: 83 1F move down/forward 32 D0/13D5: 89 0F loop start (15 times) D0/13D7: 1F [---] D0/13D8: 8A loop end D0/13D9: 89 0F loop start (15 times) D0/13DB: 83 E7 move up/back 8 D0/13DD: 00 [$00] D0/13DE: 8A loop end D0/13DF: 89 58 loop start (88 times) D0/13E1: 00 [$00] D0/13E2: 00 [$00] D0/13E3: 8A loop end D0/13E4: 90 00 set animation tile priority to 0 D0/13E6: 89 17 loop start (23 times) D0/13E8: 00 [$00] D0/13E9: 00 [$00] D0/13EA: 8A loop end D0/13EB: 90 30 set animation tile priority to 3 D0/13ED: 89 17 loop start (23 times) D0/13EF: 00 [$00] D0/13F0: 00 [$00] D0/13F1: 8A loop end D0/13F2: 89 0F loop start (15 times) D0/13F4: 83 07 move down/forward 8 D0/13F6: 00 [$00] D0/13F7: 8A loop end D0/13F8: FF end of script D0/13F9: 83 67 move forward 8 D0/13FB: 1F [---] D0/13FC: 1F [---] D0/13FD: 83 5F move down/back 32 D0/13FF: 83 5F move down/back 32 D0/1401: 83 5F move down/back 32 D0/1403: 83 5F move down/back 32 D0/1405: 89 0F loop start (15 times) D0/1407: 1F [---] D0/1408: 8A loop end D0/1409: 89 0F loop start (15 times) D0/140B: 83 A7 move up/forward 8 D0/140D: 01 [$01] D0/140E: 8A loop end D0/140F: 89 88 loop start (136 times) D0/1411: 01 [$01] D0/1412: 01 [$01] D0/1413: 8A loop end D0/1414: 89 0F loop start (15 times) D0/1416: 83 47 move down/back 8 D0/1418: 01 [$01] D0/1419: 8A loop end D0/141A: FF end of script ; [ Animation Script $0166: Tek Laser (sprite) ] D0/141B: 30 20 speed 4, align to center of character/monster D0/141D: C9 85 play sound effect $85 D0/141F: EB jump based on thread ($1426, $142A, $142A) D0/1426: 8B 14 animated loop start (20 times, increment frame offset each time) D0/1428: 00 [$00] D0/1429: 8C animated loop end D0/142A: FF end of script ; [ Animation Script $0165: Tek Laser (bg1) ] D0/142B: 20 20 speed 3, align to center of character/monster D0/142D: D1 01 invalidate character/monster sprite priority D0/142F: C9 00 play default sound effect D0/1431: 89 03 loop start (3 times) D0/1433: 83 9E move back 31 D0/1435: 8A loop end D0/1436: 8B 06 animated loop start (6 times, increment frame offset each time) D0/1438: 00 [$00] D0/1439: 8C animated loop end D0/143A: C2 60 unpause bg3 thread, unpause sprite threads D0/143C: 82 16 16 change target graphic to 22 (hit) D0/143F: 07 [$07] D0/1440: 08 [$08] D0/1441: 09 [$09] D0/1442: 89 0F loop start (15 times) D0/1444: 0F [$0F] D0/1445: 8A loop end D0/1446: 82 00 00 change target graphic to 0 (no action) D0/1449: FF end of script ; [ Animation Script $0175: ChokeSmoke (bg1) ] D0/144A: 20 00 speed 3, align to bottom of character/monster D0/144C: 83 8F move back 16 D0/144E: C9 00 play default sound effect D0/1450: 8B 05 animated loop start (5 times, increment frame offset each time) D0/1452: 00 [$00] D0/1453: 8C animated loop end D0/1454: 83 87 move back 8 D0/1456: 06 [$06] D0/1457: 07 [$07] D0/1458: 08 [$08] D0/1459: 09 [$09] D0/145A: 0A [$0A] D0/145B: 0B [$0B] D0/145C: 84 01 set animation speed to 2 D0/145E: 89 0F loop start (15 times) D0/1460: 83 60 move forward 1 D0/1462: 0B [$0B] D0/1463: 8A loop end D0/1464: F7 A0 wait until scanline 160 D0/1466: D4 02 01 12 add (sprites, bg2) to (bg1) D0/146A: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/146C: 89 1F loop start (31 times) D0/146E: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/1470: 0B [$0B] D0/1471: 8A loop end D0/1472: FF end of script ; [ Animation Script $020C: HyperDrive (sprite) ] D0/1473: 00 00 speed 1, align to bottom of character/monster D0/1475: 85 move to attacker position D0/1476: 95 calculate vector from attacker to target D0/1477: 83 7F move forward 32 D0/1479: 93 00 move to vector position 0 D0/147B: EB jump based on thread ($14BA, $1488, $1492, $149C, $14A6, $14B0) D0/1488: 89 01 loop start (1 times) D0/148A: 1F [---] D0/148B: 8A loop end D0/148C: 01 [$01] D0/148D: 02 [$02] D0/148E: 92 10 04 move along vector at speed 16, branch to $148C D0/1491: FF end of script D0/1492: 89 03 loop start (3 times) D0/1494: 1F [---] D0/1495: 8A loop end D0/1496: 02 [$02] D0/1497: 03 [$03] D0/1498: 92 10 04 move along vector at speed 16, branch to $1496 D0/149B: FF end of script D0/149C: 89 05 loop start (5 times) D0/149E: 1F [---] D0/149F: 8A loop end D0/14A0: 03 [$03] D0/14A1: 04 [$04] D0/14A2: 92 10 04 move along vector at speed 16, branch to $14A0 D0/14A5: FF end of script D0/14A6: 89 07 loop start (7 times) D0/14A8: 1F [---] D0/14A9: 8A loop end D0/14AA: 04 [$04] D0/14AB: 05 [$05] D0/14AC: 92 10 04 move along vector at speed 16, branch to $14AA D0/14AF: FF end of script D0/14B0: 89 09 loop start (9 times) D0/14B2: 1F [---] D0/14B3: 8A loop end D0/14B4: 05 [$05] D0/14B5: 06 [$06] D0/14B6: 92 10 04 move along vector at speed 16, branch to $14B4 D0/14B9: FF end of script D0/14BA: C9 00 play default sound effect D0/14BC: 00 [$00] D0/14BD: 01 [$01] D0/14BE: 92 10 04 move along vector at speed 16, branch to $14BC D0/14C1: F7 A0 wait until scanline 160 D0/14C3: D4 02 01 12 add (sprites, bg2) to (bg1) D0/14C7: C9 19 play sound effect $19 D0/14C9: A5 00 00 00 FF FF 80 00 init circle at (0,0) D0/14D1: C3 move circle to target D0/14D2: 80 17 update sprite layer priority based on target D0/14D4: EC 01 change thread layer to bg1 D0/14D6: 89 18 loop start (24 times) D0/14D8: A6 00 00 02 move circle (+0,+0) and grow by 2 D0/14DC: A7 update circle D0/14DD: 00 [$00] D0/14DE: 8A loop end D0/14DF: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/14E1: 89 0F loop start (15 times) D0/14E3: A6 00 00 02 move circle (+0,+0) and grow by 2 D0/14E7: A7 update circle D0/14E8: CF E2 increase bg1 animation palette color subtraction by 2 (black) D0/14EA: 00 [$00] D0/14EB: 8A loop end D0/14EC: FF end of script ; [ Animation Script $00CB: Grand Train (bg1) ] D0/14ED: 00 A0 speed 1, align to center of screen D0/14EF: D1 01 invalidate character/monster sprite priority D0/14F1: C4 80 move bg1 thread to this thread's position D0/14F3: F7 A0 wait until scanline 160 D0/14F5: D4 02 04 11 add (sprites, bg1) to (bg3) D0/14F9: 80 45 3C enable bg1 in window 2 D0/14FC: 89 89 loop start (137 times) D0/14FE: A4 17 32 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift) D0/1501: 00 [$00] D0/1502: 8A loop end D0/1503: FF end of script ; [ Animation Script $00D4: GrandTrain (bg3) ] D0/1504: 00 A0 speed 1, align to center of screen D0/1506: C4 40 move bg3 thread to this thread's position D0/1508: D0 20 set tile priority to 2 for all character/monster sprites D0/150A: DD 80 50 00 00 init triangle at (128,80) D0/150F: 00 [$00] D0/1510: BD 50 hide bg3 thread D0/1512: 80 8C 00 play sound effect $00 (pan center) D0/1515: 89 38 loop start (56 times) D0/1517: E0 00 00 03 04 move triangle (+0,+0) and change diameter by +3, rotate +4 units D0/151C: F6 update triangle 3d D0/151D: 00 [$00] D0/151E: 8A loop end D0/151F: 89 30 loop start (48 times) D0/1521: E0 00 00 00 04 move triangle (+0,+0), rotate +4 units D0/1526: F6 update triangle 3d D0/1527: 00 [$00] D0/1528: 8A loop end D0/1529: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/152B: AA E0 set bg3 animation palette color subtraction to 0 (black) D0/152D: 89 1F loop start (31 times) D0/152F: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/1531: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/1533: E0 00 00 00 04 move triangle (+0,+0), rotate +4 units D0/1538: F6 update triangle 3d D0/1539: 00 [$00] D0/153A: 8A loop end D0/153B: FF end of script ; [ Animation Script $01E0: Wild Fang (sprite) ] D0/153C: 00 00 speed 1, align to bottom of character/monster D0/153E: 89 07 loop start (7 times) D0/1540: 83 9F move back 32 D0/1542: 8A loop end D0/1543: BF 55 15 jump to subroutine $1555 D0/1546: C9 C3 play sound effect $C3 D0/1548: 84 04 set animation speed to 5 D0/154A: 01 [$01] D0/154B: 03 [$03] D0/154C: 04 [$04] D0/154D: 03 [$03] D0/154E: 01 [$01] D0/154F: 84 01 set animation speed to 2 D0/1551: BF 55 15 jump to subroutine $1555 D0/1554: FF end of script D0/1555: 89 04 loop start (4 times) D0/1557: C9 00 play default sound effect D0/1559: 83 63 move forward 4 D0/155B: 00 [$00] D0/155C: 83 63 move forward 4 D0/155E: 00 [$00] D0/155F: 83 63 move forward 4 D0/1561: 00 [$00] D0/1562: 83 63 move forward 4 D0/1564: 00 [$00] D0/1565: 83 63 move forward 4 D0/1567: 01 [$01] D0/1568: 83 63 move forward 4 D0/156A: 01 [$01] D0/156B: 83 63 move forward 4 D0/156D: 01 [$01] D0/156E: 83 63 move forward 4 D0/1570: 01 [$01] D0/1571: 83 63 move forward 4 D0/1573: 02 [$02] D0/1574: 83 63 move forward 4 D0/1576: 02 [$02] D0/1577: 83 63 move forward 4 D0/1579: 02 [$02] D0/157A: 83 63 move forward 4 D0/157C: 02 [$02] D0/157D: 8A loop end D0/157E: C0 return from subroutine ; [ Animation Script $01E4: Takedown (sprite) ] D0/157F: 00 00 speed 1, align to bottom of character/monster D0/1581: 89 07 loop start (7 times) D0/1583: 83 9F move back 32 D0/1585: 8A loop end D0/1586: BF 55 15 jump to subroutine $1555 D0/1589: C2 80 unpause bg1 thread D0/158B: BF 55 15 jump to subroutine $1555 D0/158E: FF end of script ; [ Animation Script $01E5: Takedown (bg1) ] D0/158F: 40 20 speed 5, align to center of character/monster D0/1591: C9 94 play sound effect $94 D0/1593: 8B 03 animated loop start (3 times, increment frame offset each time) D0/1595: 00 [$00] D0/1596: 8C animated loop end D0/1597: FF end of script ; [ Animation Script $0189: L? Pearl (sprite) ] D0/1598: 10 00 speed 2, align to bottom of character/monster D0/159A: 89 04 loop start (4 times) D0/159C: 83 FF move up/back 32 D0/159E: 8A loop end D0/159F: C9 00 play default sound effect D0/15A1: 89 09 loop start (9 times) D0/15A3: 83 0F move down/forward 16 D0/15A5: 04 [$04] D0/15A6: 8A loop end D0/15A7: 03 [$03] D0/15A8: 02 [$02] D0/15A9: 01 [$01] D0/15AA: 00 [$00] D0/15AB: 80 17 update sprite layer priority based on target D0/15AD: EC 01 change thread layer to bg1 D0/15AF: 80 6B command $80/$6B D0/15B1: C9 85 play sound effect $85 D0/15B3: 84 03 set animation speed to 4 D0/15B5: 8B 0D animated loop start (13 times, increment frame offset each time) D0/15B7: 00 [$00] D0/15B8: 8C animated loop end D0/15B9: FF end of script ; [ Animation Script $018D: Aero (bg1) ] D0/15BA: 00 20 speed 1, align to center of character/monster D0/15BC: D1 01 invalidate character/monster sprite priority D0/15BE: C4 80 move bg1 thread to this thread's position D0/15C0: D0 20 set tile priority to 2 for all character/monster sprites D0/15C2: CC FF set bg1 animation palette color subtraction to 31 (black) D0/15C4: AA FF set bg3 animation palette color subtraction to 31 (black) D0/15C6: F7 A0 wait until scanline 160 D0/15C8: D4 02 05 12 add (sprites, bg2) to (bg3, bg1) D0/15CC: C9 00 play default sound effect D0/15CE: AD 82 set bg3 hdma scroll type to 2 D0/15D0: 00 [$00] D0/15D1: BD A0 hide bg1 thread D0/15D3: 89 1F loop start (31 times) D0/15D5: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/15D7: B4 F1 decrease bg3 animation palette color subtraction by 1 (black) D0/15D9: A4 17 31 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift) D0/15DC: 00 [$00] D0/15DD: 8A loop end D0/15DE: 89 80 loop start (128 times) D0/15E0: A4 17 31 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift) D0/15E3: 00 [$00] D0/15E4: 8A loop end D0/15E5: 89 1F loop start (31 times) D0/15E7: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/15E9: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/15EB: A4 17 31 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift) D0/15EE: 00 [$00] D0/15EF: 8A loop end D0/15F0: F7 A0 wait until scanline 160 D0/15F2: AD 85 set bg3 hdma scroll type to 5 D0/15F4: FF end of script ; [ Animation Script $0191: Aero (bg3) ] D0/15F5: 00 20 speed 1, align to center of character/monster D0/15F7: C4 40 move bg3 thread to this thread's position D0/15F9: 00 [$00] D0/15FA: BD 50 hide bg3 thread D0/15FC: 89 C0 loop start (192 times) D0/15FE: 80 50 00 command $80/$50 D0/1601: 00 [$00] D0/1602: 8A loop end D0/1603: 80 24 clear bg3 hdma scroll data D0/1605: FF end of script ; [ Animation Script $0197: Cyclonic (sprite) ] D0/1606: 00 20 speed 1, align to center of character/monster D0/1608: 89 0F loop start (15 times) D0/160A: 1F [---] D0/160B: 8A loop end D0/160C: 84 02 set animation speed to 3 D0/160E: 82 16 46 change target graphic to 22 (hit) D0/1611: 89 06 loop start (6 times) D0/1613: 00 [$00] D0/1614: 01 [$01] D0/1615: 02 [$02] D0/1616: 8A loop end D0/1617: 82 00 00 change target graphic to 0 (no action) D0/161A: FF end of script ; [ Animation Script $01B2: Big Guard (sprite) ] D0/161B: 00 20 speed 1, align to center of character/monster D0/161D: EB jump based on thread ($1626, $1630, $1641, $1641) D0/1626: C9 00 play default sound effect D0/1628: 8B 0A animated loop start (10 times, increment frame offset each time) D0/162A: 00 [$00] D0/162B: 00 [$00] D0/162C: 00 [$00] D0/162D: 00 [$00] D0/162E: 8C animated loop end D0/162F: FF end of script D0/1630: 83 47 move down/back 8 D0/1632: 89 1C loop start (28 times) D0/1634: 1F [---] D0/1635: 8A loop end D0/1636: 80 17 update sprite layer priority based on target D0/1638: EC 01 change thread layer to bg1 D0/163A: 89 40 loop start (64 times) D0/163C: A3 17 34 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/163F: 00 [$00] D0/1640: 8A loop end D0/1641: FF end of script ; [ Animation Script $0182: ] D0/1642: 20 20 speed 3, align to center of character/monster D0/1644: 89 14 loop start (20 times) D0/1646: 1F [---] D0/1647: 8A loop end D0/1648: 8B 0A animated loop start (10 times, increment frame offset each time) D0/164A: 00 [$00] D0/164B: 8C animated loop end D0/164C: FF end of script ; [ Animation Script $0183: Train (bg1) ] D0/164D: 00 A0 speed 1, align to center of screen D0/164F: C4 80 move bg1 thread to this thread's position D0/1651: CC FF set bg1 animation palette color subtraction to 31 (black) D0/1653: 00 [$00] D0/1654: BD A0 hide bg1 thread D0/1656: C9 00 play default sound effect D0/1658: 89 1F loop start (31 times) D0/165A: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/165C: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/165F: 00 [$00] D0/1660: 8A loop end D0/1661: 89 48 loop start (72 times) D0/1663: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/1666: 00 [$00] D0/1667: 8A loop end D0/1668: 89 1F loop start (31 times) D0/166A: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/166C: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/166F: 00 [$00] D0/1670: 8A loop end D0/1671: FF end of script ; [ Animation Script $0184: Train (bg3) ] D0/1672: 00 A0 speed 1, align to center of screen D0/1674: D1 01 invalidate character/monster sprite priority D0/1676: C4 40 move bg3 thread to this thread's position D0/1678: D0 20 set tile priority to 2 for all character/monster sprites D0/167A: DD 80 50 00 00 init triangle at (128,80) D0/167F: 00 [$00] D0/1680: BD 50 hide bg3 thread D0/1682: 89 38 loop start (56 times) D0/1684: E0 00 00 03 04 move triangle (+0,+0) and change diameter by +3, rotate +4 units D0/1689: F6 update triangle 3d D0/168A: 00 [$00] D0/168B: 8A loop end D0/168C: 89 30 loop start (48 times) D0/168E: E0 00 00 00 04 move triangle (+0,+0), rotate +4 units D0/1693: F6 update triangle 3d D0/1694: 00 [$00] D0/1695: 8A loop end D0/1696: AA E0 set bg3 animation palette color subtraction to 0 (black) D0/1698: 89 1F loop start (31 times) D0/169A: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/169C: E0 00 00 00 04 move triangle (+0,+0), rotate +4 units D0/16A1: F6 update triangle 3d D0/16A2: 00 [$00] D0/16A3: 8A loop end D0/16A4: FF end of script ; [ Animation Script $018F: Aqua Rake (bg1) ] D0/16A5: 40 20 speed 5, align to center of character/monster D0/16A7: D0 20 set tile priority to 2 for all character/monster sprites D0/16A9: C9 00 play default sound effect D0/16AB: 8B 0E animated loop start (14 times, increment frame offset each time) D0/16AD: 00 [$00] D0/16AE: 8C animated loop end D0/16AF: 8B 0E animated loop start (14 times, increment frame offset each time) D0/16B1: 00 [$00] D0/16B2: 8C animated loop end D0/16B3: FF end of script ; [ Animation Script $0180: CleanSweep (bg1) ] D0/16B4: 00 20 speed 1, align to center of character/monster D0/16B6: C9 00 play default sound effect D0/16B8: D0 30 set tile priority to 3 for all character/monster sprites D0/16BA: D1 01 invalidate character/monster sprite priority D0/16BC: C4 80 move bg1 thread to this thread's position D0/16BE: 83 3F move down 32 D0/16C0: 83 3F move down 32 D0/16C2: 83 2F move down 16 D0/16C4: 89 24 loop start (36 times) D0/16C6: 83 C0 move up 1 D0/16C8: 83 81 move back 2 D0/16CA: 98 02 04 increment frame offset every 2 loops (0..4) D0/16CD: 0B [$0B] D0/16CE: 83 61 move forward 2 D0/16D0: 98 02 04 increment frame offset every 2 loops (0..4) D0/16D3: 0B [$0B] D0/16D4: 8A loop end D0/16D5: 89 08 loop start (8 times) D0/16D7: 83 C2 move up 3 D0/16D9: 83 81 move back 2 D0/16DB: 98 02 04 increment frame offset every 2 loops (0..4) D0/16DE: 0B [$0B] D0/16DF: 83 C2 move up 3 D0/16E1: 83 61 move forward 2 D0/16E3: 98 02 04 increment frame offset every 2 loops (0..4) D0/16E6: 0B [$0B] D0/16E7: 8A loop end D0/16E8: AF C0 set background color subtraction to 0 (blue) D0/16EA: AC 41 42 set (bg2) hdma scroll data (amplitude 2, frequency 1, horizontal) D0/16ED: 89 08 loop start (8 times) D0/16EF: 98 02 04 increment frame offset every 2 loops (0..4) D0/16F2: AE 42 update (bg2) hdma scroll data (horizontal) D0/16F4: F7 A0 wait until scanline 160 D0/16F6: B6 C4 increase background color subtraction by 4 (blue) D0/16F8: 0B [$0B] D0/16F9: 8A loop end D0/16FA: 80 4E clear frame offset D0/16FC: F7 A0 wait until scanline 160 D0/16FE: AD 03 set bg1 hdma scroll type to 3 D0/1700: C4 80 move bg1 thread to this thread's position D0/1702: 80 45 33 enable bg1 in window 1 D0/1705: 89 08 loop start (8 times) D0/1707: 83 9F move back 32 D0/1709: 8A loop end D0/170A: D0 20 set tile priority to 2 for all character/monster sprites D0/170C: BF 25 17 jump to subroutine $1725 D0/170F: BF 25 17 jump to subroutine $1725 D0/1712: 80 3E 12 enable (sprites, bg2) in main screen D0/1715: 89 1F loop start (31 times) D0/1717: B6 D4 decrease background color subtraction by 4 (blue) D0/1719: AE 42 update (bg2) hdma scroll data (horizontal) D0/171B: 0F [$0F] D0/171C: 8A loop end D0/171D: F7 A0 wait until scanline 160 D0/171F: AC 40 40 set (bg2) hdma scroll data (amplitude 0, frequency 0, horizontal) D0/1722: AE 42 update (bg2) hdma scroll data (horizontal) D0/1724: FF end of script D0/1725: 8B 0A animated loop start (10 times, increment frame offset each time) D0/1727: AE 42 update (bg2) hdma scroll data (horizontal) D0/1729: 83 63 move forward 4 D0/172B: 00 [$00] D0/172C: AE 42 update (bg2) hdma scroll data (horizontal) D0/172E: 83 63 move forward 4 D0/1730: 00 [$00] D0/1731: AE 42 update (bg2) hdma scroll data (horizontal) D0/1733: 83 63 move forward 4 D0/1735: 00 [$00] D0/1736: AE 42 update (bg2) hdma scroll data (horizontal) D0/1738: 83 63 move forward 4 D0/173A: 00 [$00] D0/173B: AE 42 update (bg2) hdma scroll data (horizontal) D0/173D: 83 63 move forward 4 D0/173F: 00 [$00] D0/1740: AE 42 update (bg2) hdma scroll data (horizontal) D0/1742: 83 63 move forward 4 D0/1744: 00 [$00] D0/1745: 8C animated loop end D0/1746: C0 return from subroutine ; [ Animation Script $00F9: Wall (sprite) ] D0/1747: 00 20 speed 1, align to center of character/monster D0/1749: D1 01 invalidate character/monster sprite priority D0/174B: 90 00 set animation tile priority to 0 D0/174D: 89 40 loop start (64 times) D0/174F: 1F [---] D0/1750: 8A loop end D0/1751: C9 00 play default sound effect D0/1753: 89 40 loop start (64 times) D0/1755: 00 [$00] D0/1756: 8A loop end D0/1757: 84 04 set animation speed to 5 D0/1759: 01 [$01] D0/175A: 02 [$02] D0/175B: 03 [$03] D0/175C: 04 [$04] D0/175D: 05 [$05] D0/175E: 06 [$06] D0/175F: 07 [$07] D0/1760: FF end of script ; [ Animation Script $00FA: Wall (bg1) ] D0/1761: 00 A0 speed 1, align to center of screen D0/1763: D1 01 invalidate character/monster sprite priority D0/1765: D0 20 set tile priority to 2 for all character/monster sprites D0/1767: 80 2E 80 50 move to (128,80) D0/176B: 80 8C 18 play sound effect $18 (pan center) D0/176E: CD FF set bg1 animation palette color addition to 31 (white) D0/1770: 89 1F loop start (31 times) D0/1772: CE F1 decrease bg1 animation palette color addition by 1 (white) D0/1774: A3 17 B4 shift colors (1..8) of sprite animation palette left (11 loops per shift) D0/1777: 00 [$00] D0/1778: 8A loop end D0/1779: BD A0 hide bg1 thread D0/177B: AF E0 set background color subtraction to 0 (black) D0/177D: 89 0F loop start (15 times) D0/177F: B6 61 increase background color subtraction by 1 (red) D0/1781: A3 17 B4 shift colors (1..8) of sprite animation palette left (11 loops per shift) D0/1784: 0F [$0F] D0/1785: 8A loop end D0/1786: 89 0F loop start (15 times) D0/1788: B6 51 decrease background color subtraction by 1 (magenta) D0/178A: A3 17 B4 shift colors (1..8) of sprite animation palette left (11 loops per shift) D0/178D: 0F [$0F] D0/178E: 8A loop end D0/178F: 89 0F loop start (15 times) D0/1791: B6 81 increase background color subtraction by 1 (cyan) D0/1793: A3 17 B4 shift colors (1..8) of sprite animation palette left (11 loops per shift) D0/1796: 0F [$0F] D0/1797: 8A loop end D0/1798: 89 0F loop start (15 times) D0/179A: B6 31 decrease background color subtraction by 1 (yellow) D0/179C: A3 17 B4 shift colors (1..8) of sprite animation palette left (11 loops per shift) D0/179F: 0F [$0F] D0/17A0: 8A loop end D0/17A1: 89 0F loop start (15 times) D0/17A3: B6 41 increase background color subtraction by 1 (magenta) D0/17A5: A3 17 B4 shift colors (1..8) of sprite animation palette left (11 loops per shift) D0/17A8: 0F [$0F] D0/17A9: 8A loop end D0/17AA: 89 0F loop start (15 times) D0/17AC: B6 91 decrease background color subtraction by 1 (cyan) D0/17AE: A3 17 B4 shift colors (1..8) of sprite animation palette left (11 loops per shift) D0/17B1: 0F [$0F] D0/17B2: 8A loop end D0/17B3: 89 0F loop start (15 times) D0/17B5: B6 51 decrease background color subtraction by 1 (magenta) D0/17B7: A3 17 B4 shift colors (1..8) of sprite animation palette left (11 loops per shift) D0/17BA: 0F [$0F] D0/17BB: 8A loop end D0/17BC: 89 80 loop start (128 times) D0/17BE: A3 17 B4 shift colors (1..8) of sprite animation palette left (11 loops per shift) D0/17C1: 00 [$00] D0/17C2: 8A loop end D0/17C3: C9 18 play sound effect $18 D0/17C5: 89 0F loop start (15 times) D0/17C7: CE E1 increase bg1 animation palette color addition by 1 (white) D0/17C9: A3 17 B4 shift colors (1..8) of sprite animation palette left (11 loops per shift) D0/17CC: 00 [$00] D0/17CD: CE E1 increase bg1 animation palette color addition by 1 (white) D0/17CF: A3 17 B4 shift colors (1..8) of sprite animation palette left (11 loops per shift) D0/17D2: 0F [$0F] D0/17D3: 8A loop end D0/17D4: FF end of script ; [ Animation Script $00B0: Bserk (sprite) ] D0/17D5: 30 20 speed 4, align to center of character/monster D0/17D7: D1 01 invalidate character/monster sprite priority D0/17D9: C9 D3 play sound effect $D3 D0/17DB: 8B 07 animated loop start (7 times, increment frame offset each time) D0/17DD: 00 [$00] D0/17DE: 8C animated loop end D0/17DF: C9 47 play sound effect $47 D0/17E1: 08 [$08] D0/17E2: 09 [$09] D0/17E3: 0A [$0A] D0/17E4: 0B [$0B] D0/17E5: 84 01 set animation speed to 2 D0/17E7: F7 A0 wait until scanline 160 D0/17E9: D4 00 01 00 add fixed color to (bg1) D0/17ED: C9 67 play sound effect $67 D0/17EF: 80 33 0B update rainbow gradient lines (intensity 4) D0/17F2: BF 23 18 jump to subroutine $1823 D0/17F5: 80 33 07 update rainbow gradient lines (intensity 8) D0/17F8: BF 23 18 jump to subroutine $1823 D0/17FB: 80 33 03 update rainbow gradient lines (intensity 12) D0/17FE: BF 23 18 jump to subroutine $1823 D0/1801: 89 40 loop start (64 times) D0/1803: 80 33 00 update rainbow gradient lines (intensity 15) D0/1806: 1F [---] D0/1807: 8A loop end D0/1808: 80 33 03 update rainbow gradient lines (intensity 12) D0/180B: BF 23 18 jump to subroutine $1823 D0/180E: 80 33 07 update rainbow gradient lines (intensity 8) D0/1811: BF 23 18 jump to subroutine $1823 D0/1814: 80 33 0B update rainbow gradient lines (intensity 4) D0/1817: BF 23 18 jump to subroutine $1823 D0/181A: 80 33 0F update rainbow gradient lines (intensity 0) D0/181D: BF 23 18 jump to subroutine $1823 D0/1820: 80 37 clear fixed color value hdma data D0/1822: FF end of script D0/1823: 89 07 loop start (7 times) D0/1825: 80 33 00 update rainbow gradient lines (intensity 15) D0/1828: 1F [---] D0/1829: 8A loop end D0/182A: C0 return from subroutine ; [ Animation Script $00C9: Bio (sprite) ] D0/182B: 00 20 speed 1, align to center of character/monster D0/182D: C9 00 play default sound effect D0/182F: EB jump based on thread ($1838, $1844, $1843, $1843) D0/1838: 90 30 set animation tile priority to 3 D0/183A: 84 05 set animation speed to 6 D0/183C: 00 [$00] D0/183D: 01 [$01] D0/183E: 02 [$02] D0/183F: 03 [$03] D0/1840: 04 [$04] D0/1841: 05 [$05] D0/1842: 06 [$06] D0/1843: FF end of script D0/1844: F7 A0 wait until scanline 160 D0/1846: D4 00 00 00 add fixed color to (no layers) D0/184A: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/184C: 80 17 update sprite layer priority based on target D0/184E: EC 01 change thread layer to bg1 D0/1850: F7 A0 wait until scanline 160 D0/1852: AD 06 set bg1 hdma scroll type to 6 D0/1854: AC 81 C4 set (bg1) hdma scroll data (amplitude 4, frequency 1, horizontal and vertical) D0/1857: 84 01 set animation speed to 2 D0/1859: 89 10 loop start (16 times) D0/185B: AE C4 update (bg1) hdma scroll data (horizontal and vertical) D0/185D: 00 [$00] D0/185E: 00 [$00] D0/185F: 8A loop end D0/1860: F7 A0 wait until scanline 160 D0/1862: D4 02 01 12 add (sprites, bg2) to (bg1) D0/1866: 89 03 loop start (3 times) D0/1868: CF E4 increase bg1 animation palette color subtraction by 4 (black) D0/186A: AE C4 update (bg1) hdma scroll data (horizontal and vertical) D0/186C: 00 [$00] D0/186D: CF E4 increase bg1 animation palette color subtraction by 4 (black) D0/186F: 00 [$00] D0/1870: 8A loop end D0/1871: F7 A0 wait until scanline 160 D0/1873: AD 03 set bg1 hdma scroll type to 3 D0/1875: 80 25 clear bg1 hdma scroll data D0/1877: FF end of script ; [ Animation Script $0223: Event Animation $04: Water Splash (sprite) ] D0/1878: 00 20 speed 1, align to center of character/monster D0/187A: 80 2E 60 60 move to (96,96) D0/187E: 83 67 move forward 8 D0/1880: EB jump based on thread ($189E, $1893, $188E, $1889) D0/1889: 83 8F move back 16 D0/188B: FA 93 18 jump to $1893 D0/188E: 83 6F move forward 16 D0/1890: FA 93 18 jump to $1893 D0/1893: 84 04 set animation speed to 5 D0/1895: 00 [$00] D0/1896: 01 [$01] D0/1897: 02 [$02] D0/1898: 03 [$03] D0/1899: 04 [$04] D0/189A: 05 [$05] D0/189B: 06 [$06] D0/189C: 01 [$01] D0/189D: 00 [$00] D0/189E: FF end of script ; [ Animation Script $0222: Event Animation $03: Water Splash (bg1) ] D0/189F: 00 20 speed 1, align to center of character/monster D0/18A1: D1 01 invalidate character/monster sprite priority D0/18A3: 80 2E 60 60 move to (96,96) D0/18A7: 89 35 loop start (53 times) D0/18A9: 0F [$0F] D0/18AA: 8A loop end D0/18AB: 83 07 move down/forward 8 D0/18AD: 84 04 set animation speed to 5 D0/18AF: 00 [$00] D0/18B0: 01 [$01] D0/18B1: 02 [$02] D0/18B2: 03 [$03] D0/18B3: 04 [$04] D0/18B4: 05 [$05] D0/18B5: 06 [$06] D0/18B6: 01 [$01] D0/18B7: 00 [$00] D0/18B8: FF end of script ; [ Animation Script $00E4: Pearl (sprite) ] D0/18B9: 00 20 speed 1, align to center of character/monster D0/18BB: D1 01 invalidate character/monster sprite priority D0/18BD: 89 0F loop start (15 times) D0/18BF: 1F [---] D0/18C0: 8A loop end D0/18C1: 80 16 command $80/$16 D0/18C3: 83 DF move up 32 D0/18C5: 83 DF move up 32 D0/18C7: 83 DF move up 32 D0/18C9: 83 DF move up 32 D0/18CB: 83 DF move up 32 D0/18CD: EB jump based on thread ($18D4, $18DC, $18E2) D0/18D4: C9 00 play default sound effect D0/18D6: EF 40 00 move in flattened polar coordinates (64,0) D0/18D9: FA E5 18 jump to $18E5 D0/18DC: EF 40 55 move in flattened polar coordinates (64,85) D0/18DF: FA E5 18 jump to $18E5 D0/18E2: EF 40 AA move in flattened polar coordinates (64,-86) D0/18E5: 89 A0 loop start (160 times) D0/18E7: EF 00 04 move in flattened polar coordinates (0,4) D0/18EA: 83 20 move down 1 D0/18EC: 80 21 update sprite layer priority based on polar movement angle D0/18EE: 00 [$00] D0/18EF: 8A loop end D0/18F0: EF C0 04 move in flattened polar coordinates (-64,4) D0/18F3: C2 80 unpause bg1 thread D0/18F5: 84 02 set animation speed to 3 D0/18F7: 83 AF move up/forward 16 D0/18F9: 89 02 loop start (2 times) D0/18FB: E9 1F 1F move animation randomly (0..31,0..31) D0/18FE: 01 [$01] D0/18FF: 02 [$02] D0/1900: 03 [$03] D0/1901: 04 [$04] D0/1902: 05 [$05] D0/1903: 06 [$06] D0/1904: 07 [$07] D0/1905: 08 [$08] D0/1906: 8A loop end D0/1907: FF end of script ; [ Animation Script $00E5: Pearl (bg1) ] D0/1908: 20 20 speed 3, align to center of character/monster D0/190A: 8B 0D animated loop start (13 times, increment frame offset each time) D0/190C: 00 [$00] D0/190D: 8C animated loop end D0/190E: B0 E0 set background color addition to 0 (white) D0/1910: 8B 0D animated loop start (13 times, increment frame offset each time) D0/1912: 00 [$00] D0/1913: B5 E2 increase background color addition by 2 (white) D0/1915: 8C animated loop end D0/1916: 84 01 set animation speed to 2 D0/1918: 89 20 loop start (32 times) D0/191A: 0F [$0F] D0/191B: 8A loop end D0/191C: 89 1B loop start (27 times) D0/191E: B5 F1 decrease background color addition by 1 (white) D0/1920: 0F [$0F] D0/1921: 8A loop end D0/1922: FF end of script ; [ Animation Script $00E6: Pearl (bg3) ] D0/1923: 00 20 speed 1, align to center of character/monster D0/1925: D1 01 invalidate character/monster sprite priority D0/1927: 80 1F init bg3 hdma scroll data for pearl (horizontal) D0/1929: 80 20 init bg3 hdma scroll data for pearl (vertical) D0/192B: AA FF set bg3 animation palette color subtraction to 31 (black) D0/192D: C4 40 move bg3 thread to this thread's position D0/192F: 80 1E scroll bg3 for pearl D0/1931: AD 82 set bg3 hdma scroll type to 2 D0/1933: EA 42 set bg3 tile data quadrant to 2 D0/1935: 00 [$00] D0/1936: EA 41 set bg3 tile data quadrant to 1 D0/1938: 00 [$00] D0/1939: EA 43 set bg3 tile data quadrant to 3 D0/193B: 00 [$00] D0/193C: 89 07 loop start (7 times) D0/193E: B6 C2 increase background color subtraction by 2 (blue) D0/1940: 00 [$00] D0/1941: 8A loop end D0/1942: 89 1F loop start (31 times) D0/1944: B4 F1 decrease bg3 animation palette color subtraction by 1 (black) D0/1946: 80 1E scroll bg3 for pearl D0/1948: 00 [$00] D0/1949: 8A loop end D0/194A: 89 E0 loop start (224 times) D0/194C: 80 1E scroll bg3 for pearl D0/194E: 00 [$00] D0/194F: 8A loop end D0/1950: 89 1F loop start (31 times) D0/1952: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/1954: 80 1E scroll bg3 for pearl D0/1956: 00 [$00] D0/1957: 8A loop end D0/1958: EA 41 set bg3 tile data quadrant to 1 D0/195A: 09 [$09] D0/195B: EA 42 set bg3 tile data quadrant to 2 D0/195D: 09 [$09] D0/195E: EA 43 set bg3 tile data quadrant to 3 D0/1960: 09 [$09] D0/1961: AD 85 set bg3 hdma scroll type to 5 D0/1963: 80 24 clear bg3 hdma scroll data D0/1965: FF end of script ; [ Animation Script $00E0: Ice 3 (sprite) ] D0/1966: 20 20 speed 3, align to center of character/monster D0/1968: D1 01 invalidate character/monster sprite priority D0/196A: C9 00 play default sound effect D0/196C: 83 27 move down 8 D0/196E: 00 [$00] D0/196F: 01 [$01] D0/1970: 02 [$02] D0/1971: 03 [$03] D0/1972: 04 [$04] D0/1973: 05 [$05] D0/1974: 06 [$06] D0/1975: 07 [$07] D0/1976: 08 [$08] D0/1977: 09 [$09] D0/1978: B0 FF set background color addition to 31 (white) D0/197A: 0A [$0A] D0/197B: B5 F4 decrease background color addition by 4 (white) D0/197D: 0B [$0B] D0/197E: B5 F4 decrease background color addition by 4 (white) D0/1980: 0C [$0C] D0/1981: B5 F4 decrease background color addition by 4 (white) D0/1983: 0D [$0D] D0/1984: B5 F4 decrease background color addition by 4 (white) D0/1986: 0E [$0E] D0/1987: B5 F4 decrease background color addition by 4 (white) D0/1989: 0F [$0F] D0/198A: B5 F4 decrease background color addition by 4 (white) D0/198C: 10 [$10] D0/198D: B5 F4 decrease background color addition by 4 (white) D0/198F: 11 [$11] D0/1990: B5 F4 decrease background color addition by 4 (white) D0/1992: 12 [$12] D0/1993: 13 [$13] D0/1994: 14 [$14] D0/1995: 15 [$15] D0/1996: 16 [$16] D0/1997: 84 01 set animation speed to 2 D0/1999: 1F [---] D0/199A: 1F [---] D0/199B: 1F [---] D0/199C: 80 6A align bottom of thread with bottom of target D0/199E: 83 2F move down 16 D0/19A0: EC 01 change thread layer to bg1 D0/19A2: 80 17 update sprite layer priority based on target D0/19A4: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/19A6: F7 A0 wait until scanline 160 D0/19A8: D4 02 01 12 add (sprites, bg2) to (bg1) D0/19AC: F7 A0 wait until scanline 160 D0/19AE: D4 02 01 10 add (sprites) to (bg1) D0/19B2: 89 0F loop start (15 times) D0/19B4: 00 [$00] D0/19B5: 8A loop end D0/19B6: F7 A0 wait until scanline 160 D0/19B8: D4 02 01 12 add (sprites, bg2) to (bg1) D0/19BC: 89 07 loop start (7 times) D0/19BE: CF E4 increase bg1 animation palette color subtraction by 4 (black) D0/19C0: 00 [$00] D0/19C1: 8A loop end D0/19C2: FF end of script ; [ Animation Script $00C4: Fire 3 (sprite) ] D0/19C3: 00 00 speed 1, align to bottom of character/monster D0/19C5: D1 01 invalidate character/monster sprite priority D0/19C7: 89 04 loop start (4 times) D0/19C9: 83 FF move up/back 32 D0/19CB: 8A loop end D0/19CC: EB jump based on thread ($19F0, $19D5, $19DD, $19E6) D0/19D5: 1F [---] D0/19D6: 89 13 loop start (19 times) D0/19D8: 83 07 move down/forward 8 D0/19DA: 01 [$01] D0/19DB: 8A loop end D0/19DC: FF end of script D0/19DD: 1F [---] D0/19DE: 1F [---] D0/19DF: 89 13 loop start (19 times) D0/19E1: 83 07 move down/forward 8 D0/19E3: 02 [$02] D0/19E4: 8A loop end D0/19E5: FF end of script D0/19E6: 1F [---] D0/19E7: 1F [---] D0/19E8: 1F [---] D0/19E9: 89 13 loop start (19 times) D0/19EB: 83 07 move down/forward 8 D0/19ED: 03 [$03] D0/19EE: 8A loop end D0/19EF: FF end of script D0/19F0: C9 00 play default sound effect D0/19F2: 89 13 loop start (19 times) D0/19F4: 83 07 move down/forward 8 D0/19F6: 00 [$00] D0/19F7: 8A loop end D0/19F8: 84 03 set animation speed to 4 D0/19FA: B0 9F set background color addition to 31 (red) D0/19FC: F7 A0 wait until scanline 160 D0/19FE: D4 00 00 00 add fixed color to (no layers) D0/1A02: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/1A04: EC 01 change thread layer to bg1 D0/1A06: 80 17 update sprite layer priority based on target D0/1A08: 00 [$00] D0/1A09: 01 [$01] D0/1A0A: 02 [$02] D0/1A0B: 03 [$03] D0/1A0C: 04 [$04] D0/1A0D: 05 [$05] D0/1A0E: 84 01 set animation speed to 2 D0/1A10: F7 A0 wait until scanline 160 D0/1A12: D4 02 01 12 add (sprites, bg2) to (bg1) D0/1A16: 83 CF move up 16 D0/1A18: 89 07 loop start (7 times) D0/1A1A: CF E4 increase bg1 animation palette color subtraction by 4 (black) D0/1A1C: B5 94 decrease background color addition by 4 (red) D0/1A1E: 06 [$06] D0/1A1F: 8A loop end D0/1A20: FF end of script ; [ Animation Script $00ED: Sleep (bg1) ] D0/1A21: 00 20 speed 1, align to center of character/monster D0/1A23: AF E0 set background color subtraction to 0 (black) D0/1A25: BD A0 hide bg1 thread D0/1A27: 89 07 loop start (7 times) D0/1A29: B6 E1 increase background color subtraction by 1 (black) D0/1A2B: 0F [$0F] D0/1A2C: 8A loop end D0/1A2D: 89 80 loop start (128 times) D0/1A2F: 0F [$0F] D0/1A30: 8A loop end D0/1A31: 89 07 loop start (7 times) D0/1A33: B6 F1 decrease background color subtraction by 1 (black) D0/1A35: 0F [$0F] D0/1A36: 8A loop end D0/1A37: FF end of script ; [ Animation Script $00A8: Sleep (sprite) ] D0/1A38: 00 20 speed 1, align to center of character/monster D0/1A3A: D1 01 invalidate character/monster sprite priority D0/1A3C: 83 CF move up 16 D0/1A3E: EB jump based on thread ($1A47, $1A50, $1A4E, $1A4D) D0/1A47: C9 00 play default sound effect D0/1A49: 89 40 loop start (64 times) D0/1A4B: 00 [$00] D0/1A4C: 8A loop end D0/1A4D: FF end of script D0/1A4E: 83 67 move forward 8 D0/1A50: 83 87 move back 8 D0/1A52: 83 27 move down 8 D0/1A54: 8B 06 animated loop start (6 times, increment frame offset each time) D0/1A56: 83 20 move down 1 D0/1A58: 01 [$01] D0/1A59: 83 20 move down 1 D0/1A5B: 01 [$01] D0/1A5C: 83 20 move down 1 D0/1A5E: 01 [$01] D0/1A5F: 83 20 move down 1 D0/1A61: 01 [$01] D0/1A62: 83 20 move down 1 D0/1A64: 01 [$01] D0/1A65: 83 20 move down 1 D0/1A67: 01 [$01] D0/1A68: 8C animated loop end D0/1A69: FF end of script ; [ Animation Script $00D6: Slow 2 (bg1) ] D0/1A6A: 00 20 speed 1, align to center of character/monster D0/1A6C: F7 A0 wait until scanline 160 D0/1A6E: D4 02 04 12 add (sprites, bg2) to (bg3) D0/1A72: FF end of script ; [ Animation Script $00D5: Safe (bg1) ] D0/1A73: 00 20 speed 1, align to center of character/monster D0/1A75: D1 01 invalidate character/monster sprite priority D0/1A77: 89 1F loop start (31 times) D0/1A79: A4 17 33 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift) D0/1A7C: 00 [$00] D0/1A7D: 8A loop end D0/1A7E: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/1A80: 89 1F loop start (31 times) D0/1A82: A4 17 33 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift) D0/1A85: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/1A87: 00 [$00] D0/1A88: 8A loop end D0/1A89: FF end of script ; [ Animation Script $00A9: Safe (sprite) ] D0/1A8A: 00 20 speed 1, align to center of character/monster D0/1A8C: C9 00 play default sound effect D0/1A8E: 89 40 loop start (64 times) D0/1A90: 1F [---] D0/1A91: 8A loop end D0/1A92: 84 06 set animation speed to 7 D0/1A94: 8B 05 animated loop start (5 times, increment frame offset each time) D0/1A96: 00 [$00] D0/1A97: 8C animated loop end D0/1A98: FF end of script ; [ Animation Script $00D3: Demi, Quartr, Reflect??? (sprite) ] D0/1A99: 00 20 speed 1, align to center of character/monster D0/1A9B: D1 01 invalidate character/monster sprite priority D0/1A9D: 80 72 01 branch to $1AA1 if attack hit D0/1AA0: FF end of script D0/1AA1: 85 move to attacker position D0/1AA2: 95 calculate vector from attacker to target D0/1AA3: EB jump based on thread ($1AAC, $1ACD, $1AD6, $1ADF) D0/1AAC: C9 00 play default sound effect D0/1AAE: 80 5D command $80/$5D D0/1AB0: 03 [$03] D0/1AB1: 92 02 05 move along vector at speed 2, branch to $1AAE D0/1AB4: 80 5D command $80/$5D D0/1AB6: 04 [$04] D0/1AB7: 83 A7 move up/forward 8 D0/1AB9: 05 [$05] D0/1ABA: 06 [$06] D0/1ABB: 07 [$07] D0/1ABC: 89 40 loop start (64 times) D0/1ABE: 07 [$07] D0/1ABF: 8A loop end D0/1AC0: 84 03 set animation speed to 4 D0/1AC2: 07 [$07] D0/1AC3: 06 [$06] D0/1AC4: 05 [$05] D0/1AC5: 83 47 move down/back 8 D0/1AC7: 04 [$04] D0/1AC8: 03 [$03] D0/1AC9: 02 [$02] D0/1ACA: 01 [$01] D0/1ACB: 00 [$00] D0/1ACC: FF end of script D0/1ACD: 80 5D command $80/$5D D0/1ACF: 02 [$02] D0/1AD0: 92 02 05 move along vector at speed 2, branch to $1ACD D0/1AD3: 80 5D command $80/$5D D0/1AD5: FF end of script D0/1AD6: 80 5D command $80/$5D D0/1AD8: 01 [$01] D0/1AD9: 92 02 05 move along vector at speed 2, branch to $1AD6 D0/1ADC: 80 5D command $80/$5D D0/1ADE: FF end of script D0/1ADF: FF end of script ; [ Animation Script $00A7: Step Mine (bg1) ] D0/1AE0: 00 20 speed 1, align to center of character/monster D0/1AE2: 85 move to attacker position D0/1AE3: 80 69 update sprite layer priority based on attacker D0/1AE5: 00 [$00] D0/1AE6: 00 [$00] D0/1AE7: 00 [$00] D0/1AE8: 00 [$00] D0/1AE9: 01 [$01] D0/1AEA: 01 [$01] D0/1AEB: 01 [$01] D0/1AEC: 01 [$01] D0/1AED: 02 [$02] D0/1AEE: 02 [$02] D0/1AEF: 02 [$02] D0/1AF0: 02 [$02] D0/1AF1: 03 [$03] D0/1AF2: 03 [$03] D0/1AF3: 03 [$03] D0/1AF4: 03 [$03] D0/1AF5: 89 27 loop start (39 times) D0/1AF7: 83 C3 move up 4 D0/1AF9: 03 [$03] D0/1AFA: 8A loop end D0/1AFB: FF end of script ; [ Animation Script $0221: Storm (sprite) ] D0/1AFC: 00 20 speed 1, align to center of character/monster D0/1AFE: EE 20 set target sprite tile priority to 2 D0/1B00: 1F [---] D0/1B01: FF end of script ; [ Animation Script $021C: Storm (bg1) ] D0/1B02: 00 20 speed 1, align to center of character/monster D0/1B04: D1 01 invalidate character/monster sprite priority D0/1B06: C4 80 move bg1 thread to this thread's position D0/1B08: A5 00 00 00 FF FF 80 00 init circle at (0,0) D0/1B10: 00 [$00] D0/1B11: BD A0 hide bg1 thread D0/1B13: A8 move circle to attacker D0/1B14: C9 00 play default sound effect D0/1B16: 89 2A loop start (42 times) D0/1B18: A9 FE 00 move circle (-2,+0) D0/1B1B: A6 00 00 02 move circle (+0,+0) and grow by 2 D0/1B1F: A3 16 31 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/1B22: F7 D8 wait until scanline 216 D0/1B24: A7 update circle D0/1B25: 00 [$00] D0/1B26: 8A loop end D0/1B27: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/1B29: 89 30 loop start (48 times) D0/1B2B: A9 FE 00 move circle (-2,+0) D0/1B2E: A6 00 00 02 move circle (+0,+0) and grow by 2 D0/1B32: A3 16 31 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/1B35: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/1B37: F7 D8 wait until scanline 216 D0/1B39: A7 update circle D0/1B3A: 00 [$00] D0/1B3B: 8A loop end D0/1B3C: FF end of script ; [ Animation Script $0220: 7-Flush (bg1) ] D0/1B3D: 00 00 speed 1, align to bottom of character/monster D0/1B3F: D1 01 invalidate character/monster sprite priority D0/1B41: BD A0 hide bg1 thread D0/1B43: AF E0 set background color subtraction to 0 (black) D0/1B45: 89 0F loop start (15 times) D0/1B47: B6 61 increase background color subtraction by 1 (red) D0/1B49: 0F [$0F] D0/1B4A: 8A loop end D0/1B4B: 89 0F loop start (15 times) D0/1B4D: B6 51 decrease background color subtraction by 1 (magenta) D0/1B4F: 0F [$0F] D0/1B50: 8A loop end D0/1B51: 89 0F loop start (15 times) D0/1B53: B6 81 increase background color subtraction by 1 (cyan) D0/1B55: 0F [$0F] D0/1B56: 8A loop end D0/1B57: 89 0F loop start (15 times) D0/1B59: B6 31 decrease background color subtraction by 1 (yellow) D0/1B5B: 0F [$0F] D0/1B5C: 8A loop end D0/1B5D: 89 0F loop start (15 times) D0/1B5F: B6 41 increase background color subtraction by 1 (magenta) D0/1B61: 0F [$0F] D0/1B62: 8A loop end D0/1B63: 89 0F loop start (15 times) D0/1B65: B6 91 decrease background color subtraction by 1 (cyan) D0/1B67: 0F [$0F] D0/1B68: 8A loop end D0/1B69: 89 0F loop start (15 times) D0/1B6B: B6 51 decrease background color subtraction by 1 (magenta) D0/1B6D: 0F [$0F] D0/1B6E: 8A loop end D0/1B6F: FF end of script ; [ Animation Script $021F: 7-Flush (sprite) ] D0/1B70: 00 00 speed 1, align to bottom of character/monster D0/1B72: 90 00 set animation tile priority to 0 D0/1B74: C9 00 play default sound effect D0/1B76: EB jump based on thread ($1B7F, $1B85, $1B8D, $1BA0) D0/1B7F: E9 00 0F move animation randomly (0..0,0..15) D0/1B82: FA 92 1B jump to $1B92 D0/1B85: E9 00 0F move animation randomly (0..0,0..15) D0/1B88: 83 6F move forward 16 D0/1B8A: FA 92 1B jump to $1B92 D0/1B8D: E9 00 0F move animation randomly (0..0,0..15) D0/1B90: 83 8F move back 16 D0/1B92: C9 00 play default sound effect D0/1B94: 8B 0B animated loop start (11 times, increment frame offset each time) D0/1B96: 80 65 change rainbow palette D0/1B98: 00 [$00] D0/1B99: 80 65 change rainbow palette D0/1B9B: 00 [$00] D0/1B9C: 80 65 change rainbow palette D0/1B9E: 00 [$00] D0/1B9F: 8C animated loop end D0/1BA0: FF end of script ; [ Animation Script $021D: H-Bomb (sprite) ] D0/1BA1: 20 20 speed 3, align to center of character/monster D0/1BA3: 89 2E loop start (46 times) D0/1BA5: 1F [---] D0/1BA6: 8A loop end D0/1BA7: 83 AF move up/forward 16 D0/1BA9: 89 01 loop start (1 times) D0/1BAB: E9 1F 1F move animation randomly (0..31,0..31) D0/1BAE: 00 [$00] D0/1BAF: 01 [$01] D0/1BB0: 02 [$02] D0/1BB1: 03 [$03] D0/1BB2: 04 [$04] D0/1BB3: 05 [$05] D0/1BB4: 06 [$06] D0/1BB5: 07 [$07] D0/1BB6: 08 [$08] D0/1BB7: 8A loop end D0/1BB8: FF end of script ; [ Animation Script $021E: H-Bomb (bg1) ] D0/1BB9: 00 A0 speed 1, align to center of screen D0/1BBB: D1 01 invalidate character/monster sprite priority D0/1BBD: BD A0 hide bg1 thread D0/1BBF: C4 80 move bg1 thread to this thread's position D0/1BC1: C9 00 play default sound effect D0/1BC3: F7 A0 wait until scanline 160 D0/1BC5: B0 E0 set background color addition to 0 (white) D0/1BC7: 89 1F loop start (31 times) D0/1BC9: B5 E1 increase background color addition by 1 (white) D0/1BCB: 0F [$0F] D0/1BCC: 8A loop end D0/1BCD: F7 A0 wait until scanline 160 D0/1BCF: 80 42 00 disable bg1 mirroring (mode 7) D0/1BD2: 80 41 00 00 40 50 zoom bg1 (0,0), move bg1 (64,80) D0/1BD8: 80 41 00 00 38 50 zoom bg1 (0,0), move bg1 (56,80) D0/1BDE: 89 03 loop start (3 times) D0/1BE0: 80 41 C0 C0 00 00 zoom bg1 (-64,-64), move bg1 (0,0) D0/1BE6: 8A loop end D0/1BE7: 80 3E 10 enable (sprites) in main screen D0/1BEA: 80 40 07 set screen to mode 7 D0/1BED: 0F [$0F] D0/1BEE: 80 3E 11 enable (sprites, bg1) in main screen D0/1BF1: D0 00 set tile priority to 0 for all character/monster sprites D0/1BF3: 89 5F loop start (95 times) D0/1BF5: 80 41 02 02 00 FF zoom bg1 (2,2), move bg1 (0,-1) D0/1BFB: 0F [$0F] D0/1BFC: 8A loop end D0/1BFD: D0 30 set tile priority to 3 for all character/monster sprites D0/1BFF: 89 5F loop start (95 times) D0/1C01: 80 41 02 02 00 FF zoom bg1 (2,2), move bg1 (0,-1) D0/1C07: 0F [$0F] D0/1C08: 8A loop end D0/1C09: F7 A0 wait until scanline 160 D0/1C0B: 80 3E 12 enable (sprites, bg2) in main screen D0/1C0E: 80 40 01 set screen to mode 1 D0/1C11: 89 1F loop start (31 times) D0/1C13: B5 F1 decrease background color addition by 1 (white) D0/1C15: 0F [$0F] D0/1C16: 8A loop end D0/1C17: BF A0 2C jump to subroutine $2CA0 D0/1C1A: FF end of script ; [ Animation Script $021B: Chocobop (sprite) ] D0/1C1B: 00 00 speed 1, align to bottom of character/monster D0/1C1D: D1 01 invalidate character/monster sprite priority D0/1C1F: C9 00 play default sound effect D0/1C21: EB jump based on thread ($1C26, $1C2B) D0/1C26: 83 24 move down 5 D0/1C28: FA 31 1C jump to $1C31 D0/1C2B: F4 01 show sprite behind character/monster sprites D0/1C2D: 83 9F move back 32 D0/1C2F: 83 C7 move up 8 D0/1C31: 89 07 loop start (7 times) D0/1C33: 83 9F move back 32 D0/1C35: 8A loop end D0/1C36: 89 3F loop start (63 times) D0/1C38: 83 63 move forward 4 D0/1C3A: 98 02 03 increment frame offset every 2 loops (0..3) D0/1C3D: 00 [$00] D0/1C3E: 8A loop end D0/1C3F: 89 07 loop start (7 times) D0/1C41: 83 63 move forward 4 D0/1C43: 98 02 03 increment frame offset every 2 loops (0..3) D0/1C46: 87 62 move target forward 3 D0/1C48: 00 [$00] D0/1C49: 83 63 move forward 4 D0/1C4B: 98 02 03 increment frame offset every 2 loops (0..3) D0/1C4E: 87 82 move target back 3 D0/1C50: 00 [$00] D0/1C51: 8A loop end D0/1C52: 89 2F loop start (47 times) D0/1C54: 83 63 move forward 4 D0/1C56: 98 02 03 increment frame offset every 2 loops (0..3) D0/1C59: 00 [$00] D0/1C5A: 8A loop end D0/1C5B: FF end of script ; [ Animation Script $0218: Revenger (sprite) ] D0/1C5C: 00 20 speed 1, align to center of character/monster D0/1C5E: D1 01 invalidate character/monster sprite priority D0/1C60: C9 00 play default sound effect D0/1C62: AF E0 set background color subtraction to 0 (black) D0/1C64: 89 0F loop start (15 times) D0/1C66: B6 81 increase background color subtraction by 1 (cyan) D0/1C68: 1F [---] D0/1C69: 8A loop end D0/1C6A: 89 0F loop start (15 times) D0/1C6C: B6 41 increase background color subtraction by 1 (magenta) D0/1C6E: 1F [---] D0/1C6F: 8A loop end D0/1C70: 89 0F loop start (15 times) D0/1C72: B6 91 decrease background color subtraction by 1 (cyan) D0/1C74: 1F [---] D0/1C75: 8A loop end D0/1C76: 89 0F loop start (15 times) D0/1C78: B6 21 increase background color subtraction by 1 (yellow) D0/1C7A: 1F [---] D0/1C7B: 8A loop end D0/1C7C: 89 0F loop start (15 times) D0/1C7E: B6 51 decrease background color subtraction by 1 (magenta) D0/1C80: 1F [---] D0/1C81: 8A loop end D0/1C82: 89 0F loop start (15 times) D0/1C84: B6 81 increase background color subtraction by 1 (cyan) D0/1C86: B6 31 decrease background color subtraction by 1 (yellow) D0/1C88: 1F [---] D0/1C89: 8A loop end D0/1C8A: 89 0F loop start (15 times) D0/1C8C: B6 91 decrease background color subtraction by 1 (cyan) D0/1C8E: 1F [---] D0/1C8F: 8A loop end D0/1C90: FF end of script ; [ Animation Script $0217: Magnitude8 (bg1) ] D0/1C91: 00 20 speed 1, align to center of character/monster D0/1C93: BD A0 hide bg1 thread D0/1C95: C9 00 play default sound effect D0/1C97: 89 0F loop start (15 times) D0/1C99: D6 01 00 scroll background to (1,0) D0/1C9C: 09 [$09] D0/1C9D: D6 FF 00 scroll background to (-1,0) D0/1CA0: 09 [$09] D0/1CA1: 8A loop end D0/1CA2: 89 20 loop start (32 times) D0/1CA4: D6 02 00 scroll background to (2,0) D0/1CA7: 09 [$09] D0/1CA8: D6 FE 00 scroll background to (-2,0) D0/1CAB: 09 [$09] D0/1CAC: 8A loop end D0/1CAD: 89 0F loop start (15 times) D0/1CAF: D6 01 00 scroll background to (1,0) D0/1CB2: 09 [$09] D0/1CB3: D6 FF 00 scroll background to (-1,0) D0/1CB6: 09 [$09] D0/1CB7: 8A loop end D0/1CB8: D6 00 00 scroll background to (0,0) D0/1CBB: C9 FF play sound effect $FF D0/1CBD: FF end of script ; [ Animation Script $0213: Soul Out (sprite) ] D0/1CBE: 00 20 speed 1, align to center of character/monster D0/1CC0: D1 01 invalidate character/monster sprite priority D0/1CC2: 85 move to attacker position D0/1CC3: 95 calculate vector from attacker to target D0/1CC4: 93 00 move to vector position 0 D0/1CC6: C9 7A play sound effect $7A D0/1CC8: 98 02 04 increment frame offset every 2 loops (0..4) D0/1CCB: 00 [$00] D0/1CCC: 92 06 06 move along vector at speed 6, branch to $1CC8 D0/1CCF: EB jump based on thread ($1CD8, $1CE8, $1CF4, $1D00) D0/1CD8: C9 00 play default sound effect D0/1CDA: C2 80 unpause bg1 thread D0/1CDC: 89 0F loop start (15 times) D0/1CDE: 83 00 move down/forward 1 D0/1CE0: 98 02 04 increment frame offset every 2 loops (0..4) D0/1CE3: 00 [$00] D0/1CE4: 8A loop end D0/1CE5: FA 09 1D jump to $1D09 D0/1CE8: 89 0F loop start (15 times) D0/1CEA: 83 40 move down/back 1 D0/1CEC: 98 02 04 increment frame offset every 2 loops (0..4) D0/1CEF: 00 [$00] D0/1CF0: 8A loop end D0/1CF1: FA 09 1D jump to $1D09 D0/1CF4: 89 0F loop start (15 times) D0/1CF6: 83 A0 move up/forward 1 D0/1CF8: 98 02 04 increment frame offset every 2 loops (0..4) D0/1CFB: 00 [$00] D0/1CFC: 8A loop end D0/1CFD: FA 09 1D jump to $1D09 D0/1D00: 89 0F loop start (15 times) D0/1D02: 83 E0 move up/back 1 D0/1D04: 98 02 04 increment frame offset every 2 loops (0..4) D0/1D07: 00 [$00] D0/1D08: 8A loop end D0/1D09: 89 20 loop start (32 times) D0/1D0B: 98 02 04 increment frame offset every 2 loops (0..4) D0/1D0E: 00 [$00] D0/1D0F: 8A loop end D0/1D10: FF end of script ; [ Animation Script $0216: Soul Out (bg1) ] D0/1D11: 00 20 speed 1, align to center of character/monster D0/1D13: F7 A0 wait until scanline 160 D0/1D15: D4 02 01 12 add (sprites, bg2) to (bg1) D0/1D19: 80 17 update sprite layer priority based on target D0/1D1B: EE 20 set target sprite tile priority to 2 D0/1D1D: F0 jump based on target ($1D28, $1D39, $1D4A, $1D5B, $1D6B) D0/1D28: 89 1F loop start (31 times) D0/1D2A: 83 60 move forward 1 D0/1D2C: 00 [$00] D0/1D2D: 8A loop end D0/1D2E: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/1D30: 89 1F loop start (31 times) D0/1D32: 83 60 move forward 1 D0/1D34: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/1D36: 00 [$00] D0/1D37: 8A loop end D0/1D38: FF end of script D0/1D39: 89 1F loop start (31 times) D0/1D3B: 83 60 move forward 1 D0/1D3D: 01 [$01] D0/1D3E: 8A loop end D0/1D3F: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/1D41: 89 1F loop start (31 times) D0/1D43: 83 60 move forward 1 D0/1D45: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/1D47: 01 [$01] D0/1D48: 8A loop end D0/1D49: FF end of script D0/1D4A: 89 1F loop start (31 times) D0/1D4C: 83 60 move forward 1 D0/1D4E: 02 [$02] D0/1D4F: 8A loop end D0/1D50: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/1D52: 89 1F loop start (31 times) D0/1D54: 83 60 move forward 1 D0/1D56: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/1D58: 02 [$02] D0/1D59: 8A loop end D0/1D5A: FF end of script D0/1D5B: 89 1F loop start (31 times) D0/1D5D: 83 60 move forward 1 D0/1D5F: 03 [$03] D0/1D60: 8A loop end D0/1D61: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/1D63: 89 1F loop start (31 times) D0/1D65: 83 60 move forward 1 D0/1D67: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/1D69: 03 [$03] D0/1D6A: 8A loop end D0/1D6B: FF end of script ; [ Animation Script $0211: Shock Wave (sprite) ] D0/1D6C: 10 00 speed 2, align to bottom of character/monster D0/1D6E: 90 00 set animation tile priority to 0 D0/1D70: 85 move to attacker position D0/1D71: 95 calculate vector from attacker to target D0/1D72: 93 00 move to vector position 0 D0/1D74: 83 7F move forward 32 D0/1D76: 83 67 move forward 8 D0/1D78: EB jump based on thread ($1D85, $1DB7, $1DC1, $1DCB, $1DD5, $1DDF) D0/1D85: F7 A0 wait until scanline 160 D0/1D87: D4 02 02 10 add (sprites) to (bg2) D0/1D8B: C2 80 unpause bg1 thread D0/1D8D: C9 00 play default sound effect D0/1D8F: 03 [$03] D0/1D90: 04 [$04] D0/1D91: 92 10 06 move along vector at speed 16, branch to $1D8D D0/1D94: 80 10 move to target position D0/1D96: 80 66 clear thread offset D0/1D98: 83 7F move forward 32 D0/1D9A: C9 62 play sound effect $62 D0/1D9C: 84 04 set animation speed to 5 D0/1D9E: 03 [$03] D0/1D9F: 04 [$04] D0/1DA0: 05 [$05] D0/1DA1: 06 [$06] D0/1DA2: 82 16 16 change target graphic to 22 (hit) D0/1DA5: F7 A0 wait until scanline 160 D0/1DA7: D4 02 01 12 add (sprites, bg2) to (bg1) D0/1DAB: 80 17 update sprite layer priority based on target D0/1DAD: EC 01 change thread layer to bg1 D0/1DAF: 8B 07 animated loop start (7 times, increment frame offset each time) D0/1DB1: 00 [$00] D0/1DB2: 8C animated loop end D0/1DB3: 82 00 00 change target graphic to 0 (no action) D0/1DB6: FF end of script D0/1DB7: 89 01 loop start (1 times) D0/1DB9: 1F [---] D0/1DBA: 8A loop end D0/1DBB: 04 [$04] D0/1DBC: 03 [$03] D0/1DBD: 92 10 04 move along vector at speed 16, branch to $1DBB D0/1DC0: FF end of script D0/1DC1: 89 03 loop start (3 times) D0/1DC3: 1F [---] D0/1DC4: 8A loop end D0/1DC5: 03 [$03] D0/1DC6: 02 [$02] D0/1DC7: 92 10 04 move along vector at speed 16, branch to $1DC5 D0/1DCA: FF end of script D0/1DCB: 89 05 loop start (5 times) D0/1DCD: 1F [---] D0/1DCE: 8A loop end D0/1DCF: 02 [$02] D0/1DD0: 01 [$01] D0/1DD1: 92 10 04 move along vector at speed 16, branch to $1DCF D0/1DD4: FF end of script D0/1DD5: 89 07 loop start (7 times) D0/1DD7: 1F [---] D0/1DD8: 8A loop end D0/1DD9: 01 [$01] D0/1DDA: 00 [$00] D0/1DDB: 92 10 04 move along vector at speed 16, branch to $1DD9 D0/1DDE: FF end of script D0/1DDF: 89 09 loop start (9 times) D0/1DE1: 1F [---] D0/1DE2: 8A loop end D0/1DE3: 00 [$00] D0/1DE4: 00 [$00] D0/1DE5: 92 10 04 move along vector at speed 16, branch to $1DE3 D0/1DE8: FF end of script ; [ Animation Script $020F: Phantasm (sprite) ] D0/1DE9: 00 00 speed 1, align to bottom of character/monster D0/1DEB: 89 51 loop start (81 times) D0/1DED: 1F [---] D0/1DEE: 8A loop end D0/1DEF: C9 00 play default sound effect D0/1DF1: 8B 0A animated loop start (10 times, increment frame offset each time) D0/1DF3: 00 [$00] D0/1DF4: 00 [$00] D0/1DF5: 8C animated loop end D0/1DF6: FF end of script ; [ Animation Script $0210: Phantasm (bg3) ] D0/1DF7: 00 20 speed 1, align to center of character/monster D0/1DF9: D1 01 invalidate character/monster sprite priority D0/1DFB: C4 40 move bg3 thread to this thread's position D0/1DFD: AF E0 set background color subtraction to 0 (black) D0/1DFF: C9 E3 play sound effect $E3 D0/1E01: 89 0F loop start (15 times) D0/1E03: B6 E1 increase background color subtraction by 1 (black) D0/1E05: 09 [$09] D0/1E06: 8A loop end D0/1E07: B0 FF set background color addition to 31 (white) D0/1E09: AA E0 set bg3 animation palette color subtraction to 0 (black) D0/1E0B: 89 07 loop start (7 times) D0/1E0D: B5 F4 decrease background color addition by 4 (white) D0/1E0F: B4 E2 increase bg3 animation palette color subtraction by 2 (black) D0/1E11: 00 [$00] D0/1E12: 8A loop end D0/1E13: 89 07 loop start (7 times) D0/1E15: B6 E2 increase background color subtraction by 2 (black) D0/1E17: B4 E2 increase bg3 animation palette color subtraction by 2 (black) D0/1E19: 09 [$09] D0/1E1A: 8A loop end D0/1E1B: 89 1F loop start (31 times) D0/1E1D: 09 [$09] D0/1E1E: 8A loop end D0/1E1F: B0 FF set background color addition to 31 (white) D0/1E21: AA E0 set bg3 animation palette color subtraction to 0 (black) D0/1E23: C9 CC play sound effect $CC D0/1E25: 89 07 loop start (7 times) D0/1E27: B5 F4 decrease background color addition by 4 (white) D0/1E29: B4 E2 increase bg3 animation palette color subtraction by 2 (black) D0/1E2B: 01 [$01] D0/1E2C: 8A loop end D0/1E2D: 89 07 loop start (7 times) D0/1E2F: B6 E2 increase background color subtraction by 2 (black) D0/1E31: B4 E2 increase bg3 animation palette color subtraction by 2 (black) D0/1E33: 09 [$09] D0/1E34: 8A loop end D0/1E35: 89 16 loop start (22 times) D0/1E37: 09 [$09] D0/1E38: 8A loop end D0/1E39: 89 0F loop start (15 times) D0/1E3B: B6 F1 decrease background color subtraction by 1 (black) D0/1E3D: 09 [$09] D0/1E3E: 8A loop end D0/1E3F: FF end of script ; [ Animation Script $0215: Zinger (bg1) ] D0/1E40: 00 A0 speed 1, align to center of screen D0/1E42: D1 01 invalidate character/monster sprite priority D0/1E44: C4 80 move bg1 thread to this thread's position D0/1E46: 80 72 01 branch to $1E4A if attack hit D0/1E49: FF end of script D0/1E4A: BD A0 hide bg1 thread D0/1E4C: F7 A0 wait until scanline 160 D0/1E4E: D4 02 01 12 add (sprites, bg2) to (bg1) D0/1E52: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/1E54: AF E0 set background color subtraction to 0 (black) D0/1E56: C9 00 play default sound effect D0/1E58: 89 0F loop start (15 times) D0/1E5A: B6 E1 increase background color subtraction by 1 (black) D0/1E5C: 0F [$0F] D0/1E5D: 8A loop end D0/1E5E: 89 1F loop start (31 times) D0/1E60: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/1E62: 83 60 move forward 1 D0/1E64: 0F [$0F] D0/1E65: 83 60 move forward 1 D0/1E67: 0F [$0F] D0/1E68: 8A loop end D0/1E69: 89 0F loop start (15 times) D0/1E6B: B6 F1 decrease background color subtraction by 1 (black) D0/1E6D: 0F [$0F] D0/1E6E: 8A loop end D0/1E6F: 80 3E 12 enable (sprites, bg2) in main screen D0/1E72: E1 80 hide attacking monster sprite D0/1E74: C9 FF play sound effect $FF D0/1E76: FF end of script ; [ Animation Script $020B: Cold Dust (bg1) ] D0/1E77: 30 00 speed 4, align to bottom of character/monster D0/1E79: F7 A0 wait until scanline 160 D0/1E7B: D4 02 01 12 add (sprites, bg2) to (bg1) D0/1E7F: 80 45 33 enable bg1 in window 1 D0/1E82: 8B 05 animated loop start (5 times, increment frame offset each time) D0/1E84: 00 [$00] D0/1E85: 8C animated loop end D0/1E86: FF end of script ; [ Animation Script $020A: Cold Dust (sprite) ] D0/1E87: 00 20 speed 1, align to center of character/monster D0/1E89: EB jump based on thread ($1E96, $1EB2, $1EB2, $1EB2, $1EB2, $1EB2) D0/1E96: C9 00 play default sound effect D0/1E98: 85 move to attacker position D0/1E99: 89 04 loop start (4 times) D0/1E9B: D1 01 invalidate character/monster sprite priority D0/1E9D: 81 07 07 change attacker graphic to 7 (jumping) D0/1EA0: 03 [$03] D0/1EA1: 83 67 move forward 8 D0/1EA3: 8A loop end D0/1EA4: 80 0F command $80/$0F D0/1EA6: 03 [$03] D0/1EA7: ED command $ED D0/1EA8: 08 [$08] D0/1EA9: 03 [$03] D0/1EAA: C9 18 play sound effect $18 D0/1EAC: C2 80 unpause bg1 thread D0/1EAE: 81 00 00 change attacker graphic to 0 (no action) D0/1EB1: FF end of script D0/1EB2: 84 03 set animation speed to 4 D0/1EB4: 89 01 loop start (1 times) D0/1EB6: 80 0C move to first sprite thread position D0/1EB8: 03 [$03] D0/1EB9: 02 [$02] D0/1EBA: 01 [$01] D0/1EBB: 00 [$00] D0/1EBC: 8A loop end D0/1EBD: 80 10 move to target position D0/1EBF: 83 AF move up/forward 16 D0/1EC1: 89 07 loop start (7 times) D0/1EC3: 1F [---] D0/1EC4: 8A loop end D0/1EC5: C9 1E play sound effect $1E D0/1EC7: 84 05 set animation speed to 6 D0/1EC9: 89 04 loop start (4 times) D0/1ECB: E9 1F 1F move animation randomly (0..31,0..31) D0/1ECE: 04 [$04] D0/1ECF: 05 [$05] D0/1ED0: 06 [$06] D0/1ED1: 07 [$07] D0/1ED2: 8A loop end D0/1ED3: FF end of script ; [ Animation Script $0209: Sneeze (sprite) ] D0/1ED4: 00 20 speed 1, align to center of character/monster D0/1ED6: 85 move to attacker position D0/1ED7: C9 00 play default sound effect D0/1ED9: 90 00 set animation tile priority to 0 D0/1EDB: 95 calculate vector from attacker to target D0/1EDC: 93 00 move to vector position 0 D0/1EDE: A3 17 B1 shift colors (1..8) of sprite animation palette left (11 loops per shift) D0/1EE1: 00 [$00] D0/1EE2: 92 06 03 move along vector at speed 6, branch to $1EE1 D0/1EE5: 89 1A loop start (26 times) D0/1EE7: 87 C5 move target up 6 D0/1EE9: 87 63 move target forward 4 D0/1EEB: 83 65 move forward 6 D0/1EED: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/1EF0: 00 [$00] D0/1EF1: 8A loop end D0/1EF2: F1 00 hide target character sprite D0/1EF4: FF end of script ; [ Animation Script $0208: N. Cross (bg3) ] D0/1EF5: 00 20 speed 1, align to center of character/monster D0/1EF7: BD 50 hide bg3 thread D0/1EF9: B0 20 set background color addition to 0 (blue) D0/1EFB: 89 07 loop start (7 times) D0/1EFD: B5 22 increase background color addition by 2 (blue) D0/1EFF: 09 [$09] D0/1F00: 8A loop end D0/1F01: 89 80 loop start (128 times) D0/1F03: 09 [$09] D0/1F04: 8A loop end D0/1F05: 89 07 loop start (7 times) D0/1F07: B5 32 decrease background color addition by 2 (blue) D0/1F09: 09 [$09] D0/1F0A: 8A loop end D0/1F0B: FF end of script ; [ Animation Script $0204: Echo Screen, Monster Exit $01: Puff of Smoke (sprite) ] D0/1F0C: 40 20 speed 5, align to center of character/monster D0/1F0E: 9A set facing direction to match attacker D0/1F0F: 83 AF move up/forward 16 D0/1F11: E9 1F 1F move animation randomly (0..31,0..31) D0/1F14: C9 00 play default sound effect D0/1F16: 00 [$00] D0/1F17: 01 [$01] D0/1F18: 02 [$02] D0/1F19: 03 [$03] D0/1F1A: 04 [$04] D0/1F1B: 05 [$05] D0/1F1C: E9 1F 1F move animation randomly (0..31,0..31) D0/1F1F: 00 [$00] D0/1F20: 01 [$01] D0/1F21: 02 [$02] D0/1F22: 03 [$03] D0/1F23: 04 [$04] D0/1F24: 05 [$05] D0/1F25: FF end of script ; [ Animation Script $0205: Smoke Bomb (sprite) ] D0/1F26: 40 20 speed 5, align to center of character/monster D0/1F28: 9A set facing direction to match attacker D0/1F29: 83 AF move up/forward 16 D0/1F2B: E9 1F 1F move animation randomly (0..31,0..31) D0/1F2E: C9 00 play default sound effect D0/1F30: 00 [$00] D0/1F31: 01 [$01] D0/1F32: 02 [$02] D0/1F33: 03 [$03] D0/1F34: 04 [$04] D0/1F35: 05 [$05] D0/1F36: E9 1F 1F move animation randomly (0..31,0..31) D0/1F39: 00 [$00] D0/1F3A: 01 [$01] D0/1F3B: 02 [$02] D0/1F3C: 80 72 04 branch to $1F43 if attack hit D0/1F3F: 03 [$03] D0/1F40: 04 [$04] D0/1F41: 05 [$05] D0/1F42: FF end of script D0/1F43: F1 00 hide target character sprite D0/1F45: F1 80 hide target monster sprite D0/1F47: 03 [$03] D0/1F48: 04 [$04] D0/1F49: 05 [$05] D0/1F4A: FF end of script ; [ Animation Script $0201: Green Cherry (sprite) ] D0/1F4B: 30 00 speed 4, align to bottom of character/monster D0/1F4D: 90 00 set animation tile priority to 0 D0/1F4F: C9 00 play default sound effect D0/1F51: 8B 07 animated loop start (7 times, increment frame offset each time) D0/1F53: 00 [$00] D0/1F54: 8C animated loop end D0/1F55: FF end of script ; [ Animation Script $0202: Remedy (sprite) ] D0/1F56: 00 00 speed 1, align to bottom of character/monster D0/1F58: 90 00 set animation tile priority to 0 D0/1F5A: 83 6F move forward 16 D0/1F5C: EB jump based on thread ($1F69, $1F6B, $1F6B, $1F6B, $1F6B, $1F6B) D0/1F69: C9 00 play default sound effect D0/1F6B: BF 78 1F jump to subroutine $1F78 D0/1F6E: BF 78 1F jump to subroutine $1F78 D0/1F71: BF 78 1F jump to subroutine $1F78 D0/1F74: BF 78 1F jump to subroutine $1F78 D0/1F77: FF end of script D0/1F78: E9 1F 00 move animation randomly (0..31,0..0) D0/1F7B: 80 65 change rainbow palette D0/1F7D: 00 [$00] D0/1F7E: 80 65 change rainbow palette D0/1F80: 00 [$00] D0/1F81: 80 65 change rainbow palette D0/1F83: 01 [$01] D0/1F84: 80 65 change rainbow palette D0/1F86: 01 [$01] D0/1F87: 80 65 change rainbow palette D0/1F89: 02 [$02] D0/1F8A: 80 65 change rainbow palette D0/1F8C: 02 [$02] D0/1F8D: 80 65 change rainbow palette D0/1F8F: 03 [$03] D0/1F90: 80 65 change rainbow palette D0/1F92: 03 [$03] D0/1F93: 89 09 loop start (9 times) D0/1F95: 83 CF move up 16 D0/1F97: 80 65 change rainbow palette D0/1F99: 03 [$03] D0/1F9A: 80 65 change rainbow palette D0/1F9C: 03 [$03] D0/1F9D: 8A loop end D0/1F9E: 83 3F move down 32 D0/1FA0: 83 3F move down 32 D0/1FA2: 83 3F move down 32 D0/1FA4: 83 3F move down 32 D0/1FA6: 83 3F move down 32 D0/1FA8: C0 return from subroutine ; [ Animation Script $0200: Antidote, Soft (sprite) ] D0/1FA9: 40 20 speed 5, align to center of character/monster D0/1FAB: 90 00 set animation tile priority to 0 D0/1FAD: 9A set facing direction to match attacker D0/1FAE: 83 AF move up/forward 16 D0/1FB0: 89 01 loop start (1 times) D0/1FB2: C9 00 play default sound effect D0/1FB4: E9 1F 1F move animation randomly (0..31,0..31) D0/1FB7: 00 [$00] D0/1FB8: 01 [$01] D0/1FB9: 02 [$02] D0/1FBA: 03 [$03] D0/1FBB: 04 [$04] D0/1FBC: 05 [$05] D0/1FBD: 8A loop end D0/1FBE: FF end of script ; [ Animation Script $0203: Revivify, Eyedrop (sprite) ] D0/1FBF: 00 00 speed 1, align to bottom of character/monster D0/1FC1: EB jump based on thread ($1FCE, $2009, $203A, $2083, $20CC, $2115) D0/1FCE: C9 00 play default sound effect D0/1FD0: C2 80 unpause bg1 thread D0/1FD2: 83 DF move up 32 D0/1FD4: 83 DF move up 32 D0/1FD6: 89 1F loop start (31 times) D0/1FD8: 83 21 move down 2 D0/1FDA: 00 [$00] D0/1FDB: 8A loop end D0/1FDC: 89 07 loop start (7 times) D0/1FDE: 80 61 20 04 80 command $80/$61 D0/1FE3: 83 60 move forward 1 D0/1FE5: 00 [$00] D0/1FE6: 8A loop end D0/1FE7: 89 07 loop start (7 times) D0/1FE9: 80 61 20 04 80 command $80/$61 D0/1FEE: 83 60 move forward 1 D0/1FF0: 01 [$01] D0/1FF1: 8A loop end D0/1FF2: 89 07 loop start (7 times) D0/1FF4: 80 61 20 04 80 command $80/$61 D0/1FF9: 83 60 move forward 1 D0/1FFB: 02 [$02] D0/1FFC: 8A loop end D0/1FFD: 89 07 loop start (7 times) D0/1FFF: 80 61 20 04 80 command $80/$61 D0/2004: 83 60 move forward 1 D0/2006: 03 [$03] D0/2007: 8A loop end D0/2008: FF end of script D0/2009: 89 1F loop start (31 times) D0/200B: 1F [---] D0/200C: 8A loop end D0/200D: 89 07 loop start (7 times) D0/200F: 80 61 20 04 80 command $80/$61 D0/2014: 83 80 move back 1 D0/2016: 00 [$00] D0/2017: 8A loop end D0/2018: 89 07 loop start (7 times) D0/201A: 80 61 20 04 80 command $80/$61 D0/201F: 83 80 move back 1 D0/2021: 01 [$01] D0/2022: 8A loop end D0/2023: 89 07 loop start (7 times) D0/2025: 80 61 20 04 80 command $80/$61 D0/202A: 83 80 move back 1 D0/202C: 02 [$02] D0/202D: 8A loop end D0/202E: 89 07 loop start (7 times) D0/2030: 80 61 20 04 80 command $80/$61 D0/2035: 83 80 move back 1 D0/2037: 03 [$03] D0/2038: 8A loop end D0/2039: FF end of script D0/203A: 89 1F loop start (31 times) D0/203C: 1F [---] D0/203D: 8A loop end D0/203E: 89 03 loop start (3 times) D0/2040: 80 61 20 04 80 command $80/$61 D0/2045: 83 00 move down/forward 1 D0/2047: 00 [$00] D0/2048: 80 61 20 04 80 command $80/$61 D0/204D: 00 [$00] D0/204E: 8A loop end D0/204F: 89 03 loop start (3 times) D0/2051: 80 61 20 04 80 command $80/$61 D0/2056: 83 00 move down/forward 1 D0/2058: 01 [$01] D0/2059: 80 61 20 04 80 command $80/$61 D0/205E: 01 [$01] D0/205F: 8A loop end D0/2060: 89 03 loop start (3 times) D0/2062: 80 61 20 04 80 command $80/$61 D0/2067: 83 00 move down/forward 1 D0/2069: 02 [$02] D0/206A: 80 61 20 04 80 command $80/$61 D0/206F: 02 [$02] D0/2070: 8A loop end D0/2071: 89 03 loop start (3 times) D0/2073: 80 61 20 04 80 command $80/$61 D0/2078: 83 00 move down/forward 1 D0/207A: 03 [$03] D0/207B: 80 61 20 04 80 command $80/$61 D0/2080: 03 [$03] D0/2081: 8A loop end D0/2082: FF end of script D0/2083: 89 1F loop start (31 times) D0/2085: 1F [---] D0/2086: 8A loop end D0/2087: 89 03 loop start (3 times) D0/2089: 80 61 20 04 80 command $80/$61 D0/208E: 83 40 move down/back 1 D0/2090: 00 [$00] D0/2091: 80 61 20 04 80 command $80/$61 D0/2096: 00 [$00] D0/2097: 8A loop end D0/2098: 89 03 loop start (3 times) D0/209A: 80 61 20 04 80 command $80/$61 D0/209F: 83 40 move down/back 1 D0/20A1: 01 [$01] D0/20A2: 80 61 20 04 80 command $80/$61 D0/20A7: 01 [$01] D0/20A8: 8A loop end D0/20A9: 89 03 loop start (3 times) D0/20AB: 80 61 20 04 80 command $80/$61 D0/20B0: 83 40 move down/back 1 D0/20B2: 02 [$02] D0/20B3: 80 61 20 04 80 command $80/$61 D0/20B8: 02 [$02] D0/20B9: 8A loop end D0/20BA: 89 03 loop start (3 times) D0/20BC: 80 61 20 04 80 command $80/$61 D0/20C1: 83 40 move down/back 1 D0/20C3: 03 [$03] D0/20C4: 80 61 20 04 80 command $80/$61 D0/20C9: 03 [$03] D0/20CA: 8A loop end D0/20CB: FF end of script D0/20CC: 89 1F loop start (31 times) D0/20CE: 1F [---] D0/20CF: 8A loop end D0/20D0: 89 03 loop start (3 times) D0/20D2: 80 61 20 04 80 command $80/$61 D0/20D7: 83 A0 move up/forward 1 D0/20D9: 00 [$00] D0/20DA: 80 61 20 04 80 command $80/$61 D0/20DF: 00 [$00] D0/20E0: 8A loop end D0/20E1: 89 03 loop start (3 times) D0/20E3: 80 61 20 04 80 command $80/$61 D0/20E8: 83 A0 move up/forward 1 D0/20EA: 01 [$01] D0/20EB: 80 61 20 04 80 command $80/$61 D0/20F0: 01 [$01] D0/20F1: 8A loop end D0/20F2: 89 03 loop start (3 times) D0/20F4: 80 61 20 04 80 command $80/$61 D0/20F9: 83 A0 move up/forward 1 D0/20FB: 02 [$02] D0/20FC: 80 61 20 04 80 command $80/$61 D0/2101: 02 [$02] D0/2102: 8A loop end D0/2103: 89 03 loop start (3 times) D0/2105: 80 61 20 04 80 command $80/$61 D0/210A: 83 A0 move up/forward 1 D0/210C: 03 [$03] D0/210D: 80 61 20 04 80 command $80/$61 D0/2112: 03 [$03] D0/2113: 8A loop end D0/2114: FF end of script D0/2115: 89 1F loop start (31 times) D0/2117: 1F [---] D0/2118: 8A loop end D0/2119: 89 03 loop start (3 times) D0/211B: 80 61 20 04 80 command $80/$61 D0/2120: 83 E0 move up/back 1 D0/2122: 00 [$00] D0/2123: 80 61 20 04 80 command $80/$61 D0/2128: 00 [$00] D0/2129: 8A loop end D0/212A: 89 03 loop start (3 times) D0/212C: 80 61 20 04 80 command $80/$61 D0/2131: 83 E0 move up/back 1 D0/2133: 01 [$01] D0/2134: 80 61 20 04 80 command $80/$61 D0/2139: 01 [$01] D0/213A: 8A loop end D0/213B: 89 03 loop start (3 times) D0/213D: 80 61 20 04 80 command $80/$61 D0/2142: 83 E0 move up/back 1 D0/2144: 02 [$02] D0/2145: 80 61 20 04 80 command $80/$61 D0/214A: 02 [$02] D0/214B: 8A loop end D0/214C: 89 03 loop start (3 times) D0/214E: 80 61 20 04 80 command $80/$61 D0/2153: 83 E0 move up/back 1 D0/2155: 03 [$03] D0/2156: 80 61 20 04 80 command $80/$61 D0/215B: 03 [$03] D0/215C: 8A loop end D0/215D: FF end of script ; [ Animation Script $01FF: Fenix Down (sprite) ] D0/215E: 40 20 speed 5, align to center of character/monster D0/2160: 83 6F move forward 16 D0/2162: EB jump based on thread ($2184, $2199, $2199, $2199, $2199, $216F) D0/216F: E9 1F 0F move animation randomly (0..31,0..15) D0/2172: 83 D8 move up 25 D0/2174: BF AC 21 jump to subroutine $21AC D0/2177: BF AC 21 jump to subroutine $21AC D0/217A: BF AC 21 jump to subroutine $21AC D0/217D: 05 [$05] D0/217E: 06 [$06] D0/217F: 07 [$07] D0/2180: 08 [$08] D0/2181: C9 FF play sound effect $FF D0/2183: FF end of script D0/2184: C9 00 play default sound effect D0/2186: E9 1F 0F move animation randomly (0..31,0..15) D0/2189: 83 D8 move up 25 D0/218B: BF AC 21 jump to subroutine $21AC D0/218E: BF AC 21 jump to subroutine $21AC D0/2191: BF AC 21 jump to subroutine $21AC D0/2194: 05 [$05] D0/2195: 06 [$06] D0/2196: 07 [$07] D0/2197: 08 [$08] D0/2198: FF end of script D0/2199: E9 1F 0F move animation randomly (0..31,0..15) D0/219C: 83 D8 move up 25 D0/219E: BF AC 21 jump to subroutine $21AC D0/21A1: BF AC 21 jump to subroutine $21AC D0/21A4: BF AC 21 jump to subroutine $21AC D0/21A7: 05 [$05] D0/21A8: 06 [$06] D0/21A9: 07 [$07] D0/21AA: 08 [$08] D0/21AB: FF end of script D0/21AC: 83 20 move down 1 D0/21AE: 03 [$03] D0/21AF: 83 20 move down 1 D0/21B1: 02 [$02] D0/21B2: 83 20 move down 1 D0/21B4: 01 [$01] D0/21B5: 83 20 move down 1 D0/21B7: 00 [$00] D0/21B8: 83 20 move down 1 D0/21BA: 00 [$00] D0/21BB: 83 20 move down 1 D0/21BD: 01 [$01] D0/21BE: 83 20 move down 1 D0/21C0: 02 [$02] D0/21C1: 83 20 move down 1 D0/21C3: 03 [$03] D0/21C4: 83 20 move down 1 D0/21C6: 04 [$04] D0/21C7: 83 20 move down 1 D0/21C9: 04 [$04] D0/21CA: C0 return from subroutine ; [ Animation Script $0206: Megalixir (sprite) ] D0/21CB: 00 20 speed 1, align to center of character/monster D0/21CD: 90 00 set animation tile priority to 0 D0/21CF: 80 16 command $80/$16 D0/21D1: EB jump based on thread ($21DA, $2205, $2214, $2214) D0/21DA: C9 00 play default sound effect D0/21DC: EF 28 00 move in flattened polar coordinates (40,0) D0/21DF: 89 40 loop start (64 times) D0/21E1: EF 00 FC move in flattened polar coordinates (0,-4) D0/21E4: 80 21 update sprite layer priority based on polar movement angle D0/21E6: 98 04 08 increment frame offset every 4 loops (0..8) D0/21E9: 80 65 change rainbow palette D0/21EB: 00 [$00] D0/21EC: 8A loop end D0/21ED: FF end of script ; [ Animation Script $01FE: Elixir (sprite) ] D0/21EE: 00 20 speed 1, align to center of character/monster D0/21F0: 90 00 set animation tile priority to 0 D0/21F2: 80 16 command $80/$16 D0/21F4: EB jump based on thread ($21FD, $2205, $2214, $2214) D0/21FD: C9 00 play default sound effect D0/21FF: EF 28 00 move in flattened polar coordinates (40,0) D0/2202: FA 08 22 jump to $2208 D0/2205: EF 28 80 move in flattened polar coordinates (40,-128) D0/2208: 89 40 loop start (64 times) D0/220A: EF 00 FC move in flattened polar coordinates (0,-4) D0/220D: 80 21 update sprite layer priority based on polar movement angle D0/220F: 98 04 08 increment frame offset every 4 loops (0..8) D0/2212: 00 [$00] D0/2213: 8A loop end D0/2214: FF end of script ; [ Animation Script $0207: X-Potion, X-Ether, Revivify, Eyedrop (bg3) ] D0/2215: 00 20 speed 1, align to center of character/monster D0/2217: BD 50 hide bg3 thread D0/2219: D1 01 invalidate character/monster sprite priority D0/221B: F7 A0 wait until scanline 160 D0/221D: D4 00 01 00 add fixed color to (bg1) D0/2221: 89 40 loop start (64 times) D0/2223: F7 A0 wait until scanline 160 D0/2225: 80 33 00 update rainbow gradient lines (intensity 15) D0/2228: 09 [$09] D0/2229: 8A loop end D0/222A: 89 07 loop start (7 times) D0/222C: F7 A0 wait until scanline 160 D0/222E: 80 33 03 update rainbow gradient lines (intensity 12) D0/2231: 09 [$09] D0/2232: 8A loop end D0/2233: 89 07 loop start (7 times) D0/2235: F7 A0 wait until scanline 160 D0/2237: 80 33 06 update rainbow gradient lines (intensity 9) D0/223A: 09 [$09] D0/223B: 8A loop end D0/223C: 89 07 loop start (7 times) D0/223E: F7 A0 wait until scanline 160 D0/2240: 80 33 0A update rainbow gradient lines (intensity 5) D0/2243: 09 [$09] D0/2244: 8A loop end D0/2245: 89 07 loop start (7 times) D0/2247: F7 A0 wait until scanline 160 D0/2249: 80 33 0E update rainbow gradient lines (intensity 1) D0/224C: 09 [$09] D0/224D: 8A loop end D0/224E: 80 37 clear fixed color value hdma data D0/2250: FF end of script ; [ Animation Script $01FD: X-Potion (sprite) ] D0/2251: 40 20 speed 5, align to center of character/monster D0/2253: EB jump based on thread ($225C, $225C, $225C, $2273) D0/225C: 9A set facing direction to match attacker D0/225D: 83 AF move up/forward 16 D0/225F: 89 01 loop start (1 times) D0/2261: E9 1F 1F move animation randomly (0..31,0..31) D0/2264: C9 00 play default sound effect D0/2266: 00 [$00] D0/2267: 01 [$01] D0/2268: 02 [$02] D0/2269: 03 [$03] D0/226A: 04 [$04] D0/226B: 05 [$05] D0/226C: 83 47 move down/back 8 D0/226E: 06 [$06] D0/226F: 07 [$07] D0/2270: 83 A7 move up/forward 8 D0/2272: 8A loop end D0/2273: FF end of script ; [ Animation Script $01FC: Potion, Ether (sprite) ] D0/2274: 40 20 speed 5, align to center of character/monster D0/2276: 90 00 set animation tile priority to 0 D0/2278: 9A set facing direction to match attacker D0/2279: 83 AF move up/forward 16 D0/227B: EB jump based on thread ($2284, $2284, $2284, $2297) D0/2284: 89 01 loop start (1 times) D0/2286: E9 1F 1F move animation randomly (0..31,0..31) D0/2289: C9 00 play default sound effect D0/228B: 00 [$00] D0/228C: 01 [$01] D0/228D: 83 47 move down/back 8 D0/228F: 02 [$02] D0/2290: 03 [$03] D0/2291: 04 [$04] D0/2292: 05 [$05] D0/2293: 06 [$06] D0/2294: 83 A7 move up/forward 8 D0/2296: 8A loop end D0/2297: FF end of script ; [ Animation Script $01FB: Tonic, Tincture (sprite) ] D0/2298: 40 20 speed 5, align to center of character/monster D0/229A: 90 00 set animation tile priority to 0 D0/229C: 9A set facing direction to match attacker D0/229D: 83 AF move up/forward 16 D0/229F: 89 01 loop start (1 times) D0/22A1: E9 1F 1F move animation randomly (0..31,0..31) D0/22A4: C9 00 play default sound effect D0/22A6: 00 [$00] D0/22A7: 01 [$01] D0/22A8: 02 [$02] D0/22A9: 03 [$03] D0/22AA: 04 [$04] D0/22AB: 05 [$05] D0/22AC: 06 [$06] D0/22AD: 8A loop end D0/22AE: FF end of script ; [ Animation Script $01FA: Inviz Edge (bg1) ] D0/22AF: 00 20 speed 1, align to center of character/monster D0/22B1: DB 03 branch to $22B6 if character already stepped forward to attack D0/22B3: BF 67 70 jump to subroutine $7067 D0/22B6: FA F5 48 jump to $48F5 ; [ Animation Script $01F8: Inviz Edge (sprite) ] D0/22B9: 00 20 speed 1, align to center of character/monster D0/22BB: 80 64 command $80/$64 D0/22BD: 80 16 command $80/$16 D0/22BF: EB jump based on thread ($22C8, $22D9, $22DF, $22E5) D0/22C8: F7 A0 wait until scanline 160 D0/22CA: D4 02 41 02 half add (bg2) to (bg1) D0/22CE: DB 03 branch to $22D3 if character already stepped forward to attack D0/22D0: BF 19 70 jump to subroutine $7019 D0/22D3: EF 20 00 move in flattened polar coordinates (32,0) D0/22D6: FA F0 22 jump to $22F0 D0/22D9: EF 20 40 move in flattened polar coordinates (32,64) D0/22DC: FA E8 22 jump to $22E8 D0/22DF: EF 20 80 move in flattened polar coordinates (32,-128) D0/22E2: FA E8 22 jump to $22E8 D0/22E5: EF 20 C0 move in flattened polar coordinates (32,-64) D0/22E8: DB 04 branch to $22EE if character already stepped forward to attack D0/22EA: 89 07 loop start (7 times) D0/22EC: 83 62 move forward 3 D0/22EE: 1F [---] D0/22EF: 8A loop end D0/22F0: F0 jump based on target ($22FB, $2307, $2313, $231F, $2306) D0/22FB: 99 08 change palette to 12 (character 1) D0/22FD: 89 80 loop start (128 times) D0/22FF: EF 00 FC move in flattened polar coordinates (0,-4) D0/2302: 80 21 update sprite layer priority based on polar movement angle D0/2304: 00 [$00] D0/2305: 8A loop end D0/2306: FF end of script D0/2307: 99 0A change palette to 12 (character 1) D0/2309: 89 80 loop start (128 times) D0/230B: EF 00 FC move in flattened polar coordinates (0,-4) D0/230E: 80 21 update sprite layer priority based on polar movement angle D0/2310: 01 [$01] D0/2311: 8A loop end D0/2312: FF end of script D0/2313: 99 0C change palette to 14 (character 3/crusader 1) D0/2315: 89 80 loop start (128 times) D0/2317: EF 00 FC move in flattened polar coordinates (0,-4) D0/231A: 80 21 update sprite layer priority based on polar movement angle D0/231C: 02 [$02] D0/231D: 8A loop end D0/231E: FF end of script D0/231F: 99 0E change palette to 14 (character 3/crusader 1) D0/2321: 89 80 loop start (128 times) D0/2323: EF 00 FC move in flattened polar coordinates (0,-4) D0/2326: 80 21 update sprite layer priority based on polar movement angle D0/2328: 03 [$03] D0/2329: 8A loop end D0/232A: FF end of script ; [ Animation Script $01F9: Bolt Edge (bg3) ] D0/232B: 00 20 speed 1, align to center of character/monster D0/232D: DB 04 branch to $2333 if character already stepped forward to attack D0/232F: 89 07 loop start (7 times) D0/2331: 09 [$09] D0/2332: 8A loop end D0/2333: C4 40 move bg3 thread to this thread's position D0/2335: 89 0C loop start (12 times) D0/2337: 09 [$09] D0/2338: 8A loop end D0/2339: 8B 08 animated loop start (8 times, increment frame offset each time) D0/233B: 00 [$00] D0/233C: 00 [$00] D0/233D: 00 [$00] D0/233E: 8C animated loop end D0/233F: FF end of script ; [ Animation Script $01F7: Bolt Edge (bg1) ] D0/2340: 00 20 speed 1, align to center of character/monster D0/2342: DB 03 branch to $2347 if character already stepped forward to attack D0/2344: BF 67 70 jump to subroutine $7067 D0/2347: C9 00 play default sound effect D0/2349: C4 80 move bg1 thread to this thread's position D0/234B: 8B 08 animated loop start (8 times, increment frame offset each time) D0/234D: 00 [$00] D0/234E: 00 [$00] D0/234F: 00 [$00] D0/2350: 8C animated loop end D0/2351: FF end of script ; [ Animation Script $01F5: Water Edge (sprite) ] D0/2352: 00 20 speed 1, align to center of character/monster D0/2354: DB 04 branch to $235A if character already stepped forward to attack D0/2356: 89 07 loop start (7 times) D0/2358: 1F [---] D0/2359: 8A loop end D0/235A: B0 20 set background color addition to 0 (blue) D0/235C: 89 07 loop start (7 times) D0/235E: B5 22 increase background color addition by 2 (blue) D0/2360: 1F [---] D0/2361: 8A loop end D0/2362: 80 2E 80 48 move to (128,72) D0/2366: 89 07 loop start (7 times) D0/2368: 83 9F move back 32 D0/236A: 8A loop end D0/236B: 89 60 loop start (96 times) D0/236D: E9 0B 03 move animation randomly (0..11,0..3) D0/2370: 83 63 move forward 4 D0/2372: 00 [$00] D0/2373: 8A loop end D0/2374: 89 07 loop start (7 times) D0/2376: B5 32 decrease background color addition by 2 (blue) D0/2378: 1F [---] D0/2379: 8A loop end D0/237A: FF end of script ; [ Animation Script $01F6: ] D0/237B: 00 A0 speed 1, align to center of screen D0/237D: D1 01 invalidate character/monster sprite priority D0/237F: DB 03 branch to $2384 if character already stepped forward to attack D0/2381: BF 67 70 jump to subroutine $7067 D0/2384: C4 80 move bg1 thread to this thread's position D0/2386: C9 00 play default sound effect D0/2388: 89 07 loop start (7 times) D0/238A: 83 9F move back 32 D0/238C: 8A loop end D0/238D: 89 60 loop start (96 times) D0/238F: E9 0B 03 move animation randomly (0..11,0..3) D0/2392: 83 63 move forward 4 D0/2394: 00 [$00] D0/2395: 8A loop end D0/2396: C9 FF play sound effect $FF D0/2398: FF end of script ; [ Animation Script $0289: Water Edge (bg1) ] D0/2399: 00 A0 speed 1, align to center of screen D0/239B: D1 01 invalidate character/monster sprite priority D0/239D: DB 03 branch to $23A2 if character already stepped forward to attack D0/239F: BF 67 70 jump to subroutine $7067 D0/23A2: C4 80 move bg1 thread to this thread's position D0/23A4: C9 00 play default sound effect D0/23A6: 89 07 loop start (7 times) D0/23A8: 83 9F move back 32 D0/23AA: 8A loop end D0/23AB: 89 60 loop start (96 times) D0/23AD: E9 0B 03 move animation randomly (0..11,0..3) D0/23B0: 83 63 move forward 4 D0/23B2: 00 [$00] D0/23B3: 8A loop end D0/23B4: C9 FF play sound effect $FF D0/23B6: DB 03 branch to $23BB if character already stepped forward to attack D0/23B8: BF 8E 70 jump to subroutine $708E D0/23BB: FF end of script ; [ Animation Script $01F4: Fire Skean (bg1) ] D0/23BC: 00 20 speed 1, align to center of character/monster D0/23BE: D1 01 invalidate character/monster sprite priority D0/23C0: DB 03 branch to $23C5 if character already stepped forward to attack D0/23C2: BF 67 70 jump to subroutine $7067 D0/23C5: C9 00 play default sound effect D0/23C7: AF 60 set background color subtraction to 0 (red) D0/23C9: 89 07 loop start (7 times) D0/23CB: B6 62 increase background color subtraction by 2 (red) D0/23CD: 0F [$0F] D0/23CE: 8A loop end D0/23CF: C4 80 move bg1 thread to this thread's position D0/23D1: 84 03 set animation speed to 4 D0/23D3: D0 20 set tile priority to 2 for all character/monster sprites D0/23D5: 8B 0C animated loop start (12 times, increment frame offset each time) D0/23D7: 00 [$00] D0/23D8: 8C animated loop end D0/23D9: 89 07 loop start (7 times) D0/23DB: B6 72 decrease background color subtraction by 2 (red) D0/23DD: 0F [$0F] D0/23DE: 8A loop end D0/23DF: FF end of script ; [ Animation Script $01DB: TigerBreak (sprite) ] D0/23E0: 00 20 speed 1, align to center of character/monster D0/23E2: D1 01 invalidate character/monster sprite priority D0/23E4: 85 move to attacker position D0/23E5: 83 27 move down 8 D0/23E7: D9 00 set attacker sprite tile priority to 0 D0/23E9: E7 calculate vector from attacking character to target D0/23EA: 00 [$00] D0/23EB: E5 08 03 00 move character forward along vector at speed 8 and height 0, branch to $23EA D0/23EF: D9 30 set attacker sprite tile priority to 3 D0/23F1: 81 37 37 change attacker graphic to 7 (jumping) D0/23F4: 1F [---] D0/23F5: E6 08 03 20 move character backward along vector at speed 8 and height 32, branch to $23F4 D0/23F9: 81 00 00 change attacker graphic to 0 (no action) D0/23FC: FF end of script ; [ Animation Script $01CC: TigerBreak (bg1) ] D0/23FD: 00 20 speed 1, align to center of character/monster D0/23FF: 85 move to attacker position D0/2400: 95 calculate vector from attacker to target D0/2401: 83 27 move down 8 D0/2403: C9 5B play sound effect $5B D0/2405: 93 00 move to vector position 0 D0/2407: 00 [$00] D0/2408: C1 08 03 command $C1 D0/240B: C9 00 play default sound effect D0/240D: B0 FF set background color addition to 31 (white) D0/240F: 89 07 loop start (7 times) D0/2411: B5 F2 decrease background color addition by 2 (white) D0/2413: 87 63 move target forward 4 D0/2415: 0F [$0F] D0/2416: B5 F2 decrease background color addition by 2 (white) D0/2418: 0F [$0F] D0/2419: 8A loop end D0/241A: 89 03 loop start (3 times) D0/241C: 87 87 move target back 8 D0/241E: 0F [$0F] D0/241F: 8A loop end D0/2420: FF end of script ; [ Animation Script $01E7: Evil Toot (sprite) ] D0/2421: 00 20 speed 1, align to center of character/monster D0/2423: D1 01 invalidate character/monster sprite priority D0/2425: 90 00 set animation tile priority to 0 D0/2427: 80 32 2D 24 34 24 jump to $242D (left) or $2434 (right) D0/242D: 80 2E F8 60 move to (248,96) D0/2431: FA 38 24 jump to $2438 D0/2434: 80 2E 08 60 move to (8,96) D0/2438: EB jump based on thread ($243F, $2456, $2467) D0/243F: C9 00 play default sound effect D0/2441: F7 A0 wait until scanline 160 D0/2443: D4 02 02 10 add (sprites) to (bg2) D0/2447: 89 80 loop start (128 times) D0/2449: 83 61 move forward 2 D0/244B: 80 62 20 04 00 command $80/$62 D0/2450: 80 63 04 move in narrow vertical sine wave (speed 4) D0/2453: 00 [$00] D0/2454: 8A loop end D0/2455: FF end of script D0/2456: 89 80 loop start (128 times) D0/2458: 83 C0 move up 1 D0/245A: 83 61 move forward 2 D0/245C: 80 62 20 04 00 command $80/$62 D0/2461: 80 63 04 move in narrow vertical sine wave (speed 4) D0/2464: 01 [$01] D0/2465: 8A loop end D0/2466: FF end of script D0/2467: 89 80 loop start (128 times) D0/2469: 83 20 move down 1 D0/246B: 83 61 move forward 2 D0/246D: 80 62 20 04 00 command $80/$62 D0/2472: 80 63 04 move in narrow vertical sine wave (speed 4) D0/2475: 02 [$02] D0/2476: 8A loop end D0/2477: FF end of script ; [ Animation Script $01F3: Fader (bg1) ] D0/2478: 00 20 speed 1, align to center of character/monster D0/247A: D0 20 set tile priority to 2 for all character/monster sprites D0/247C: D1 01 invalidate character/monster sprite priority D0/247E: CC FF set bg1 animation palette color subtraction to 31 (black) D0/2480: AF E0 set background color subtraction to 0 (black) D0/2482: 89 07 loop start (7 times) D0/2484: B6 E1 increase background color subtraction by 1 (black) D0/2486: 0F [$0F] D0/2487: 8A loop end D0/2488: 80 32 8E 24 95 24 jump to $248E (left) or $2495 (right) D0/248E: 80 2E D0 80 move to (208,128) D0/2492: FA 99 24 jump to $2499 D0/2495: 80 2E 30 80 move to (48,128) D0/2499: C9 00 play default sound effect D0/249B: 89 1F loop start (31 times) D0/249D: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/249F: 83 A0 move up/forward 1 D0/24A1: 80 62 20 04 00 command $80/$62 D0/24A6: 00 [$00] D0/24A7: 8A loop end D0/24A8: 89 40 loop start (64 times) D0/24AA: 83 A0 move up/forward 1 D0/24AC: 80 62 20 04 00 command $80/$62 D0/24B1: 00 [$00] D0/24B2: 8A loop end D0/24B3: 89 1F loop start (31 times) D0/24B5: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/24B7: 83 A0 move up/forward 1 D0/24B9: 80 62 20 04 00 command $80/$62 D0/24BE: 00 [$00] D0/24BF: 8A loop end D0/24C0: 89 07 loop start (7 times) D0/24C2: B6 F1 decrease background color subtraction by 1 (black) D0/24C4: 0F [$0F] D0/24C5: 8A loop end D0/24C6: FF end of script ; [ Animation Script $01F0: Tri-Dazer (bg1) ] D0/24C7: 00 20 speed 1, align to center of character/monster D0/24C9: C4 80 move bg1 thread to this thread's position D0/24CB: D0 20 set tile priority to 2 for all character/monster sprites D0/24CD: 89 47 loop start (71 times) D0/24CF: 0F [$0F] D0/24D0: 8A loop end D0/24D1: B0 20 set background color addition to 0 (blue) D0/24D3: 89 07 loop start (7 times) D0/24D5: B5 21 increase background color addition by 1 (blue) D0/24D7: 0F [$0F] D0/24D8: 8A loop end D0/24D9: 84 06 set animation speed to 7 D0/24DB: 8B 0D animated loop start (13 times, increment frame offset each time) D0/24DD: 00 [$00] D0/24DE: 8C animated loop end D0/24DF: 84 01 set animation speed to 2 D0/24E1: 89 07 loop start (7 times) D0/24E3: B5 31 decrease background color addition by 1 (blue) D0/24E5: 0F [$0F] D0/24E6: 8A loop end D0/24E7: FF end of script ; [ Animation Script $01F1: Tri-Dazer (bg3) ] D0/24E8: 00 20 speed 1, align to center of character/monster D0/24EA: C4 40 move bg3 thread to this thread's position D0/24EC: 89 4F loop start (79 times) D0/24EE: 09 [$09] D0/24EF: 8A loop end D0/24F0: 84 06 set animation speed to 7 D0/24F2: 8B 08 animated loop start (8 times, increment frame offset each time) D0/24F4: 00 [$00] D0/24F5: 8C animated loop end D0/24F6: FF end of script ; [ Animation Script $01F2: Tri-Dazer (sprite) ] D0/24F7: 00 20 speed 1, align to center of character/monster D0/24F9: D1 01 invalidate character/monster sprite priority D0/24FB: BF B8 54 jump to subroutine $54B8 D0/24FE: F7 A0 wait until scanline 160 D0/2500: D4 02 05 12 add (sprites, bg2) to (bg3, bg1) D0/2504: 80 32 0A 25 11 25 jump to $250A (left) or $2511 (right) D0/250A: 80 2E D0 48 move to (208,72) D0/250E: FA 15 25 jump to $2515 D0/2511: 80 2E 30 48 move to (48,72) D0/2515: BF CB 4C jump to subroutine $4CCB D0/2518: C9 00 play default sound effect D0/251A: 89 40 loop start (64 times) D0/251C: 00 [$00] D0/251D: 8A loop end D0/251E: BF E7 54 jump to subroutine $54E7 D0/2521: FF end of script ; [ Animation Script $01EF: True Edge (bg3) ] D0/2522: 00 20 speed 1, align to center of character/monster D0/2524: C4 40 move bg3 thread to this thread's position D0/2526: 89 1F loop start (31 times) D0/2528: 09 [$09] D0/2529: 8A loop end D0/252A: C9 3D play sound effect $3D D0/252C: 84 02 set animation speed to 3 D0/252E: 8B 06 animated loop start (6 times, increment frame offset each time) D0/2530: 00 [$00] D0/2531: 8C animated loop end D0/2532: FF end of script ; [ Animation Script $01EC: Metamorph (sprite) ] D0/2533: 00 20 speed 1, align to center of character/monster D0/2535: 80 2D 3D 25 44 25 4B 25 jump to $253D (normal attack), $2544 (back attack), or $254B (pincer attack) D0/253D: 80 2E D0 50 move to (208,80) D0/2541: FA 4F 25 jump to $254F D0/2544: 80 2E 30 50 move to (48,80) D0/2548: FA 4F 25 jump to $254F D0/254B: 80 2E 80 50 move to (128,80) D0/254F: 89 04 loop start (4 times) D0/2551: 83 DF move up 32 D0/2553: 8A loop end D0/2554: 89 0C loop start (12 times) D0/2556: 83 2B move down 12 D0/2558: 00 [$00] D0/2559: 8A loop end D0/255A: 89 40 loop start (64 times) D0/255C: 01 [$01] D0/255D: 8A loop end D0/255E: FF end of script ; [ Animation Script $01ED: Metamorph (bg3) ] D0/255F: 00 20 speed 1, align to center of character/monster D0/2561: 80 2D 69 25 70 25 77 25 jump to $2569 (normal attack), $2570 (back attack), or $2577 (pincer attack) D0/2569: 80 2E D0 60 move to (208,96) D0/256D: FA 7B 25 jump to $257B D0/2570: 80 2E 30 60 move to (48,96) D0/2574: FA 7B 25 jump to $257B D0/2577: 80 2E 80 60 move to (128,96) D0/257B: 89 0C loop start (12 times) D0/257D: 09 [$09] D0/257E: 8A loop end D0/257F: 84 03 set animation speed to 4 D0/2581: 8B 08 animated loop start (8 times, increment frame offset each time) D0/2583: 00 [$00] D0/2584: 8C animated loop end D0/2585: 8B 08 animated loop start (8 times, increment frame offset each time) D0/2587: 00 [$00] D0/2588: 8C animated loop end D0/2589: FF end of script ; [ Animation Script $01EE: Metamorph (bg1) ] D0/258A: 00 20 speed 1, align to center of character/monster D0/258C: D1 01 invalidate character/monster sprite priority D0/258E: BF 16 55 jump to subroutine $5516 D0/2591: C9 00 play default sound effect D0/2593: BD A0 hide bg1 thread D0/2595: AF E0 set background color subtraction to 0 (black) D0/2597: 89 07 loop start (7 times) D0/2599: B6 61 increase background color subtraction by 1 (red) D0/259B: 0F [$0F] D0/259C: 8A loop end D0/259D: 89 14 loop start (20 times) D0/259F: 0F [$0F] D0/25A0: 8A loop end D0/25A1: CD FF set bg1 animation palette color addition to 31 (white) D0/25A3: 89 1F loop start (31 times) D0/25A5: CE F1 decrease bg1 animation palette color addition by 1 (white) D0/25A7: 0F [$0F] D0/25A8: 8A loop end D0/25A9: 89 18 loop start (24 times) D0/25AB: 0F [$0F] D0/25AC: 8A loop end D0/25AD: 89 07 loop start (7 times) D0/25AF: B6 71 decrease background color subtraction by 1 (red) D0/25B1: 0F [$0F] D0/25B2: 8A loop end D0/25B3: BF 49 55 jump to subroutine $5549 D0/25B6: FF end of script ; [ Animation Script $01EA: Earth Wall (sprite) ] D0/25B7: 30 20 speed 4, align to center of character/monster D0/25B9: 89 08 loop start (8 times) D0/25BB: 1F [---] D0/25BC: 8A loop end D0/25BD: 80 2D C5 25 CC 25 D3 25 jump to $25C5 (normal attack), $25CC (back attack), or $25D3 (pincer attack) D0/25C5: 80 2E D0 50 move to (208,80) D0/25C9: FA D7 25 jump to $25D7 D0/25CC: 80 2E 30 50 move to (48,80) D0/25D0: FA D7 25 jump to $25D7 D0/25D3: 80 2E 80 50 move to (128,80) D0/25D7: BF DE 25 jump to subroutine $25DE D0/25DA: BF DE 25 jump to subroutine $25DE D0/25DD: FF end of script D0/25DE: E9 07 03 move animation randomly (0..7,0..3) D0/25E1: 8B 07 animated loop start (7 times, increment frame offset each time) D0/25E3: 00 [$00] D0/25E4: 83 87 move back 8 D0/25E6: 8C animated loop end D0/25E7: 83 7F move forward 32 D0/25E9: 83 7F move forward 32 D0/25EB: C0 return from subroutine ; [ Animation Script $01EB: Earth Wall (bg1) ] D0/25EC: 00 20 speed 1, align to center of character/monster D0/25EE: D1 01 invalidate character/monster sprite priority D0/25F0: BF 16 55 jump to subroutine $5516 D0/25F3: C9 00 play default sound effect D0/25F5: 80 2D FD 25 04 26 0B 26 jump to $25FD (normal attack), $2604 (back attack), or $260B (pincer attack) D0/25FD: 80 2E D0 70 move to (208,112) D0/2601: FA 0F 26 jump to $260F D0/2604: 80 2E 30 70 move to (48,112) D0/2608: FA 0F 26 jump to $260F D0/260B: 80 2E 80 70 move to (128,112) D0/260F: CD FF set bg1 animation palette color addition to 31 (white) D0/2611: B2 FF set sprite animation palette color addition to 31 (white) D0/2613: 89 1F loop start (31 times) D0/2615: CE F1 decrease bg1 animation palette color addition by 1 (white) D0/2617: B7 F1 decrease sprite animation palette color addition by 1 (white) D0/2619: 00 [$00] D0/261A: 8A loop end D0/261B: 89 40 loop start (64 times) D0/261D: 00 [$00] D0/261E: 8A loop end D0/261F: BF 49 55 jump to subroutine $5549 D0/2622: FF end of script ; [ Animation Script $01E8: Cat Rain (sprite) ] D0/2623: 00 20 speed 1, align to center of character/monster D0/2625: 90 00 set animation tile priority to 0 D0/2627: 89 47 loop start (71 times) D0/2629: 1F [---] D0/262A: 8A loop end D0/262B: FA 39 3F jump to $3F39 ; [ Animation Script $01E9: Cat Rain (bg1) ] D0/262E: 00 20 speed 1, align to center of character/monster D0/2630: D1 01 invalidate character/monster sprite priority D0/2632: F7 A0 wait until scanline 160 D0/2634: D4 02 02 10 add (sprites) to (bg2) D0/2638: 80 2E 80 58 move to (128,88) D0/263C: 89 07 loop start (7 times) D0/263E: 83 9F move back 32 D0/2640: 8A loop end D0/2641: C9 CA play sound effect $CA D0/2643: 89 0F loop start (15 times) D0/2645: 83 63 move forward 4 D0/2647: 80 61 40 08 80 command $80/$61 D0/264C: 00 [$00] D0/264D: 8A loop end D0/264E: C9 CA play sound effect $CA D0/2650: 89 0F loop start (15 times) D0/2652: 83 63 move forward 4 D0/2654: 80 61 40 08 80 command $80/$61 D0/2659: 00 [$00] D0/265A: 8A loop end D0/265B: C9 CA play sound effect $CA D0/265D: 89 0F loop start (15 times) D0/265F: 83 63 move forward 4 D0/2661: 80 61 40 08 80 command $80/$61 D0/2666: 00 [$00] D0/2667: 8A loop end D0/2668: C9 CA play sound effect $CA D0/266A: 89 0F loop start (15 times) D0/266C: 83 63 move forward 4 D0/266E: 80 61 40 08 80 command $80/$61 D0/2673: 00 [$00] D0/2674: 8A loop end D0/2675: C9 CA play sound effect $CA D0/2677: B0 FF set background color addition to 31 (white) D0/2679: 89 1F loop start (31 times) D0/267B: B5 F1 decrease background color addition by 1 (white) D0/267D: 80 61 70 04 80 command $80/$61 D0/2682: 83 63 move forward 4 D0/2684: 00 [$00] D0/2685: 8A loop end D0/2686: 89 1F loop start (31 times) D0/2688: 00 [$00] D0/2689: 80 61 70 04 80 command $80/$61 D0/268E: 83 63 move forward 4 D0/2690: 8A loop end D0/2691: FF end of script ; [ Animation Script $01E6: Charm (sprite) ] D0/2692: 00 20 speed 1, align to center of character/monster D0/2694: D1 01 invalidate character/monster sprite priority D0/2696: 85 move to attacker position D0/2697: 95 calculate vector from attacker to target D0/2698: EB jump based on thread ($26A1, $26AC, $26B5, $26BE) D0/26A1: C9 00 play default sound effect D0/26A3: 80 5D command $80/$5D D0/26A5: 00 [$00] D0/26A6: 92 02 05 move along vector at speed 2, branch to $26A3 D0/26A9: 80 5D command $80/$5D D0/26AB: FF end of script D0/26AC: 80 5D command $80/$5D D0/26AE: 01 [$01] D0/26AF: 92 02 05 move along vector at speed 2, branch to $26AC D0/26B2: 80 5D command $80/$5D D0/26B4: FF end of script D0/26B5: 80 5D command $80/$5D D0/26B7: 02 [$02] D0/26B8: 92 02 05 move along vector at speed 2, branch to $26B5 D0/26BB: 80 5D command $80/$5D D0/26BD: FF end of script D0/26BE: 80 5D command $80/$5D D0/26C0: 03 [$03] D0/26C1: 92 02 05 move along vector at speed 2, branch to $26BE D0/26C4: 80 5D command $80/$5D D0/26C6: FF end of script D0/26C7: 00 [$00] D0/26C8: A0 D0 20 jump forward along vector at speed 208, branch to $26AA D0/26CB: C4 80 move bg1 thread to this thread's position D0/26CD: F7 A0 wait until scanline 160 D0/26CF: 80 43 00 command $80/$43 D0/26D2: D4 02 04 11 add (sprites, bg1) to (bg3) D0/26D6: AD 00 set bg1 hdma scroll type to 0 D0/26D8: 80 43 01 command $80/$43 D0/26DB: 0F [$0F] D0/26DC: 00 [$00] D0/26DD: D1 01 invalidate character/monster sprite priority D0/26DF: 89 7E loop start (126 times) D0/26E1: 80 43 01 command $80/$43 D0/26E4: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/26E7: 00 [$00] D0/26E8: 8A loop end D0/26E9: 80 26 01 disable character palette updates D0/26EC: AB FF set bg3 animation palette color addition to 31 (white) D0/26EE: B0 FF set background color addition to 31 (white) D0/26F0: BA FF set monster color addition to 31 (white) D0/26F2: FC FF set character color addition to 31 (white) D0/26F4: AB FF set bg3 animation palette color addition to 31 (white) D0/26F6: 80 3E 12 enable (sprites, bg2) in main screen D0/26F9: 89 1F loop start (31 times) D0/26FB: B5 F1 decrease background color addition by 1 (white) D0/26FD: BB F1 decrease monster color addition by 1 (white) D0/26FF: FD F1 decrease character color addition by 1 (white) D0/2701: 0F [$0F] D0/2702: 8A loop end D0/2703: 80 26 00 enable character palette updates D0/2706: F7 A0 wait until scanline 160 D0/2708: 80 25 clear bg1 hdma scroll data D0/270A: AD 03 set bg1 hdma scroll type to 3 D0/270C: FF end of script D0/270D: 00 [$00] D0/270E: A0 D1 01 jump forward along vector at speed 209, branch to $270F D0/2711: C4 40 move bg3 thread to this thread's position D0/2713: 80 58 04 set circle shape to vertical oval D0/2716: A5 B0 30 00 FF FF 80 00 init circle at (176,48) D0/271E: 00 [$00] D0/271F: BD 50 hide bg3 thread D0/2721: 89 1E loop start (30 times) D0/2723: A6 00 00 02 move circle (+0,+0) and grow by 2 D0/2727: A7 update circle D0/2728: 00 [$00] D0/2729: 8A loop end D0/272A: 89 61 loop start (97 times) D0/272C: 00 [$00] D0/272D: 8A loop end D0/272E: FF end of script ; [ Animation Script $01E2: Shrapnel (sprite) ] D0/272F: 00 20 speed 1, align to center of character/monster D0/2731: 80 16 command $80/$16 D0/2733: C9 00 play default sound effect D0/2735: EF 20 00 move in flattened polar coordinates (32,0) D0/2738: 89 40 loop start (64 times) D0/273A: 98 02 04 increment frame offset every 2 loops (0..4) D0/273D: EF 00 FC move in flattened polar coordinates (0,-4) D0/2740: 80 21 update sprite layer priority based on polar movement angle D0/2742: 00 [$00] D0/2743: 8A loop end D0/2744: 80 4E clear frame offset D0/2746: C9 8B play sound effect $8B D0/2748: 80 17 update sprite layer priority based on target D0/274A: EC 01 change thread layer to bg1 D0/274C: 82 16 16 change target graphic to 22 (hit) D0/274F: 8B 0C animated loop start (12 times, increment frame offset each time) D0/2751: 87 62 move target forward 3 D0/2753: 00 [$00] D0/2754: 87 82 move target back 3 D0/2756: 00 [$00] D0/2757: 8C animated loop end D0/2758: 82 00 00 change target graphic to 0 (no action) D0/275B: FF end of script ; [ Animation Script $01DF: Mirager (bg1) ] D0/275C: 00 A0 speed 1, align to center of screen D0/275E: C4 80 move bg1 thread to this thread's position D0/2760: BD A0 hide bg1 thread D0/2762: 89 0F loop start (15 times) D0/2764: 83 62 move forward 3 D0/2766: 0F [$0F] D0/2767: 83 82 move back 3 D0/2769: 0F [$0F] D0/276A: 8A loop end D0/276B: FF end of script ; [ Animation Script $01DE: Mirager (sprite) ] D0/276C: 00 80 speed 1, initial position $80 D0/276E: C7 02 save attacking character position D0/2770: CB 81 enable echo sprites (1 frame delay) D0/2772: C9 5B play sound effect $5B D0/2774: D9 30 set attacker sprite tile priority to 3 D0/2776: 85 move to attacker position D0/2777: E7 calculate vector from attacking character to target D0/2778: 81 07 07 change attacker graphic to 7 (jumping) D0/277B: 1F [---] D0/277C: E5 08 03 20 move character forward along vector at speed 8 and height 32, branch to $277B D0/2780: C7 01 reset attacking character position offsets D0/2782: D1 01 invalidate character/monster sprite priority D0/2784: C9 00 play default sound effect D0/2786: 81 14 14 change attacker graphic to 20 (kneeling) D0/2789: 89 02 loop start (2 times) D0/278B: 86 67 move attacker forward 8 D0/278D: 1F [---] D0/278E: 8A loop end D0/278F: C2 80 unpause bg1 thread D0/2791: B0 FF set background color addition to 31 (white) D0/2793: 89 0F loop start (15 times) D0/2795: B5 F2 decrease background color addition by 2 (white) D0/2797: 1F [---] D0/2798: 8A loop end D0/2799: C9 FF play sound effect $FF D0/279B: C7 01 reset attacking character position offsets D0/279D: 81 37 37 change attacker graphic to 7 (jumping) D0/27A0: C7 04 restore attacking character position D0/27A2: E7 calculate vector from attacking character to target D0/27A3: 1F [---] D0/27A4: E5 08 03 20 move character forward along vector at speed 8 and height 32, branch to $27A3 D0/27A8: 81 00 00 change attacker graphic to 0 (no action) D0/27AB: C7 03 restore attacking character position and reset offsets D0/27AD: CB 01 disable echo sprites D0/27AF: FF end of script ; [ Animation Script $01DC: SabreSoul (bg1) ] D0/27B0: 00 80 speed 1, initial position $80 D0/27B2: C4 80 move bg1 thread to this thread's position D0/27B4: BD A0 hide bg1 thread D0/27B6: F7 A0 wait until scanline 160 D0/27B8: 80 3E 12 enable (sprites, bg2) in main screen D0/27BB: C9 5B play sound effect $5B D0/27BD: 85 move to attacker position D0/27BE: E7 calculate vector from attacking character to target D0/27BF: 81 07 07 change attacker graphic to 7 (jumping) D0/27C2: 0F [$0F] D0/27C3: E5 08 03 20 move character forward along vector at speed 8 and height 32, branch to $27C2 D0/27C7: C9 00 play default sound effect D0/27C9: D1 01 invalidate character/monster sprite priority D0/27CB: C4 80 move bg1 thread to this thread's position D0/27CD: 0F [$0F] D0/27CE: 80 3E 13 enable (sprites, bg2, bg1) in main screen D0/27D1: EE 20 set target sprite tile priority to 2 D0/27D3: B0 FF set background color addition to 31 (white) D0/27D5: 81 14 14 change attacker graphic to 20 (kneeling) D0/27D8: 89 0F loop start (15 times) D0/27DA: B5 F2 decrease background color addition by 2 (white) D0/27DC: 0F [$0F] D0/27DD: 8A loop end D0/27DE: 89 09 loop start (9 times) D0/27E0: 83 C3 move up 4 D0/27E2: 0F [$0F] D0/27E3: 8A loop end D0/27E4: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/27E6: 89 0F loop start (15 times) D0/27E8: 83 C3 move up 4 D0/27EA: CF E2 increase bg1 animation palette color subtraction by 2 (black) D0/27EC: 0F [$0F] D0/27ED: 8A loop end D0/27EE: D1 00 validate character/monster sprite priority D0/27F0: 81 37 37 change attacker graphic to 7 (jumping) D0/27F3: 0F [$0F] D0/27F4: E6 08 03 20 move character backward along vector at speed 8 and height 32, branch to $27F3 D0/27F8: F7 A0 wait until scanline 160 D0/27FA: C4 80 move bg1 thread to this thread's position D0/27FC: 80 3E 12 enable (sprites, bg2) in main screen D0/27FF: 81 00 00 change attacker graphic to 0 (no action) D0/2802: FF end of script ; [ Animation Script $01DA: Star Prism (bg1) ] D0/2803: 00 A0 speed 1, align to center of screen D0/2805: C4 80 move bg1 thread to this thread's position D0/2807: BD A0 hide bg1 thread D0/2809: D1 01 invalidate character/monster sprite priority D0/280B: C8 04 change attacker action to 4 (walking forward) D0/280D: 89 07 loop start (7 times) D0/280F: 86 62 move attacker forward 3 D0/2811: 0F [$0F] D0/2812: 8A loop end D0/2813: C8 00 change attacker action to 0 (no action) D0/2815: F7 A0 wait until scanline 160 D0/2817: D4 00 01 00 add fixed color to (bg1) D0/281B: 89 40 loop start (64 times) D0/281D: F7 A0 wait until scanline 160 D0/281F: 80 33 00 update rainbow gradient lines (intensity 15) D0/2822: 0F [$0F] D0/2823: 8A loop end D0/2824: 89 07 loop start (7 times) D0/2826: F7 A0 wait until scanline 160 D0/2828: 80 33 03 update rainbow gradient lines (intensity 12) D0/282B: 0F [$0F] D0/282C: 8A loop end D0/282D: 89 07 loop start (7 times) D0/282F: F7 A0 wait until scanline 160 D0/2831: 80 33 06 update rainbow gradient lines (intensity 9) D0/2834: 0F [$0F] D0/2835: 8A loop end D0/2836: 89 07 loop start (7 times) D0/2838: F7 A0 wait until scanline 160 D0/283A: 80 33 0A update rainbow gradient lines (intensity 5) D0/283D: 0F [$0F] D0/283E: 8A loop end D0/283F: 89 07 loop start (7 times) D0/2841: F7 A0 wait until scanline 160 D0/2843: 80 33 0E update rainbow gradient lines (intensity 1) D0/2846: 0F [$0F] D0/2847: 8A loop end D0/2848: C8 03 change attacker action to 3 (walking back) D0/284A: 89 07 loop start (7 times) D0/284C: 86 82 move attacker back 3 D0/284E: 0F [$0F] D0/284F: 8A loop end D0/2850: C8 00 change attacker action to 0 (no action) D0/2852: 80 37 clear fixed color value hdma data D0/2854: FF end of script ; [ Animation Script $01CB: Star Prism (sprite) ] D0/2855: 00 00 speed 1, align to bottom of character/monster D0/2857: 90 20 set animation tile priority to 2 D0/2859: 80 16 command $80/$16 D0/285B: EB jump based on thread ($2868, $2870, $2876, $287C, $28BC, $28BC) D0/2868: C9 00 play default sound effect D0/286A: EF 40 00 move in flattened polar coordinates (64,0) D0/286D: FA 7F 28 jump to $287F D0/2870: EF 40 40 move in flattened polar coordinates (64,64) D0/2873: FA 7F 28 jump to $287F D0/2876: EF 40 80 move in flattened polar coordinates (64,-128) D0/2879: FA 7F 28 jump to $287F D0/287C: EF 40 C0 move in flattened polar coordinates (64,-64) D0/287F: 89 40 loop start (64 times) D0/2881: EF 00 FC move in flattened polar coordinates (0,-4) D0/2884: 80 21 update sprite layer priority based on polar movement angle D0/2886: 00 [$00] D0/2887: 8A loop end D0/2888: 89 07 loop start (7 times) D0/288A: EF 00 FD move in flattened polar coordinates (0,-3) D0/288D: 80 21 update sprite layer priority based on polar movement angle D0/288F: 00 [$00] D0/2890: 8A loop end D0/2891: 89 07 loop start (7 times) D0/2893: EF 00 FE move in flattened polar coordinates (0,-2) D0/2896: 80 21 update sprite layer priority based on polar movement angle D0/2898: 00 [$00] D0/2899: 8A loop end D0/289A: 89 07 loop start (7 times) D0/289C: EF 00 FF move in flattened polar coordinates (0,-1) D0/289F: 80 21 update sprite layer priority based on polar movement angle D0/28A1: 00 [$00] D0/28A2: 8A loop end D0/28A3: C9 17 play sound effect $17 D0/28A5: 00 [$00] D0/28A6: 00 [$00] D0/28A7: 83 CF move up 16 D0/28A9: 01 [$01] D0/28AA: 01 [$01] D0/28AB: 83 CF move up 16 D0/28AD: 02 [$02] D0/28AE: 02 [$02] D0/28AF: 83 CF move up 16 D0/28B1: 03 [$03] D0/28B2: 03 [$03] D0/28B3: 83 CF move up 16 D0/28B5: 89 0F loop start (15 times) D0/28B7: 04 [$04] D0/28B8: 04 [$04] D0/28B9: 83 CF move up 16 D0/28BB: 8A loop end D0/28BC: FF end of script ; [ Animation Script $01CD: Back Blade (bg3) ] D0/28BD: 00 00 speed 1, align to bottom of character/monster D0/28BF: C9 5B play sound effect $5B D0/28C1: 85 move to attacker position D0/28C2: E7 calculate vector from attacking character to target D0/28C3: 81 07 07 change attacker graphic to 7 (jumping) D0/28C6: 09 [$09] D0/28C7: E5 08 03 20 move character forward along vector at speed 8 and height 32, branch to $28C6 D0/28CB: D1 01 invalidate character/monster sprite priority D0/28CD: C9 00 play default sound effect D0/28CF: 80 26 01 disable character palette updates D0/28D2: 09 [$09] D0/28D3: AF FF set background color subtraction to 31 (black) D0/28D5: B9 FF set monster color subtraction to 31 (black) D0/28D7: FB FF set character color subtraction to 31 (black) D0/28D9: 8B 07 animated loop start (7 times, increment frame offset each time) D0/28DB: 00 [$00] D0/28DC: 8C animated loop end D0/28DD: 89 07 loop start (7 times) D0/28DF: B6 F4 decrease background color subtraction by 4 (black) D0/28E1: 09 [$09] D0/28E2: BC F4 decrease monster color subtraction by 4 (black) D0/28E4: FE F4 decrease character color subtraction by 4 (black) D0/28E6: 09 [$09] D0/28E7: 8A loop end D0/28E8: 80 26 00 enable character palette updates D0/28EB: D1 00 validate character/monster sprite priority D0/28ED: 81 37 37 change attacker graphic to 7 (jumping) D0/28F0: 09 [$09] D0/28F1: E6 08 03 20 move character backward along vector at speed 8 and height 32, branch to $28F0 D0/28F5: 81 00 00 change attacker graphic to 0 (no action) D0/28F8: FF end of script ; [ Animation Script $01C8: ] D0/28F9: 00 80 speed 1, initial position $80 D0/28FB: C9 5B play sound effect $5B D0/28FD: 85 move to attacker position D0/28FE: E7 calculate vector from attacking character to target D0/28FF: 81 07 07 change attacker graphic to 7 (jumping) D0/2902: 1F [---] D0/2903: E5 06 03 20 move character forward along vector at speed 6 and height 32, branch to $2902 D0/2907: D1 01 invalidate character/monster sprite priority D0/2909: 8E 01 show animation on weapon-hand side of character/monster sprites D0/290B: 81 12 06 change attacker graphic to 18 (walking forward, frame 2) if facing left or 6 (walking forward, frame 3) if facing right D0/290E: 83 69 move forward 10 D0/2910: 8F 61 move forward 2 if mirrored D0/2912: C9 00 play default sound effect D0/2914: BF 31 7F jump to subroutine $7F31 D0/2917: BF 31 7F jump to subroutine $7F31 D0/291A: BF 31 7F jump to subroutine $7F31 D0/291D: C9 FF play sound effect $FF D0/291F: D1 00 validate character/monster sprite priority D0/2921: 81 37 37 change attacker graphic to 7 (jumping) D0/2924: 1F [---] D0/2925: E6 06 03 20 move character backward along vector at speed 6 and height 32, branch to $2924 D0/2929: 81 00 00 change attacker graphic to 0 (no action) D0/292C: FF end of script ; [ Animation Script $01C7: X-Meteo (bg1) ] D0/292D: 00 20 speed 1, align to center of character/monster D0/292F: BF 67 70 jump to subroutine $7067 D0/2932: 89 07 loop start (7 times) D0/2934: 83 FF move up/back 32 D0/2936: 8A loop end D0/2937: C9 00 play default sound effect D0/2939: 89 1F loop start (31 times) D0/293B: 83 07 move down/forward 8 D0/293D: 00 [$00] D0/293E: 8A loop end D0/293F: 89 07 loop start (7 times) D0/2941: 87 62 move target forward 3 D0/2943: 83 07 move down/forward 8 D0/2945: 00 [$00] D0/2946: 87 82 move target back 3 D0/2948: 83 07 move down/forward 8 D0/294A: 00 [$00] D0/294B: 8A loop end D0/294C: 89 17 loop start (23 times) D0/294E: 83 07 move down/forward 8 D0/2950: 00 [$00] D0/2951: 8A loop end D0/2952: BF 8E 70 jump to subroutine $708E D0/2955: FF end of script ; [ Animation Script $01CA: RoyalShock (bg1) ] D0/2956: 00 00 speed 1, align to bottom of character/monster D0/2958: BF 67 70 jump to subroutine $7067 D0/295B: C9 00 play default sound effect D0/295D: 81 14 14 change attacker graphic to 20 (kneeling) D0/2960: 89 07 loop start (7 times) D0/2962: 0F [$0F] D0/2963: 8A loop end D0/2964: 81 07 07 change attacker graphic to 7 (jumping) D0/2967: B0 FF set background color addition to 31 (white) D0/2969: 8B 09 animated loop start (9 times, increment frame offset each time) D0/296B: B5 F2 decrease background color addition by 2 (white) D0/296D: 00 [$00] D0/296E: 8C animated loop end D0/296F: 89 0A loop start (10 times) D0/2971: 83 CF move up 16 D0/2973: B5 F2 decrease background color addition by 2 (white) D0/2975: 09 [$09] D0/2976: 8A loop end D0/2977: BF 8E 70 jump to subroutine $708E D0/297A: 81 00 00 change attacker graphic to 0 (no action) D0/297D: FF end of script ; [ Animation Script $01C9: Riot Blade (sprite) ] D0/297E: 00 20 speed 1, align to center of character/monster D0/2980: D1 01 invalidate character/monster sprite priority D0/2982: 90 00 set animation tile priority to 0 D0/2984: 85 move to attacker position D0/2985: 83 77 move forward 24 D0/2987: 95 calculate vector from attacker to target D0/2988: 81 07 07 change attacker graphic to 7 (jumping) D0/298B: C9 00 play default sound effect D0/298D: 93 00 move to vector position 0 D0/298F: 98 02 05 increment frame offset every 2 loops (0..5) D0/2992: 00 [$00] D0/2993: C1 08 06 command $C1 D0/2996: 81 00 00 change attacker graphic to 0 (no action) D0/2999: 87 67 move target forward 8 D0/299B: 98 02 05 increment frame offset every 2 loops (0..5) D0/299E: 00 [$00] D0/299F: C1 08 06 command $C1 D0/29A2: 80 4E clear frame offset D0/29A4: 89 04 loop start (4 times) D0/29A6: 87 60 move target forward 1 D0/29A8: 83 60 move forward 1 D0/29AA: 1F [---] D0/29AB: 87 80 move target back 1 D0/29AD: 83 80 move back 1 D0/29AF: 1F [---] D0/29B0: 8A loop end D0/29B1: 87 87 move target back 8 D0/29B3: FF end of script ; [ Animation Script $0062: Sketch (bg3) ] D0/29B4: 00 20 speed 1, align to center of character/monster D0/29B6: 89 06 loop start (6 times) D0/29B8: 1F [---] D0/29B9: 8A loop end D0/29BA: C9 00 play default sound effect D0/29BC: FF end of script ; [ Animation Script $01C6: ShadowFang (bg1) ] D0/29BD: 00 00 speed 1, align to bottom of character/monster D0/29BF: 80 02 command $80/$02 D0/29C1: C9 5B play sound effect $5B D0/29C3: 8E 01 show animation on weapon-hand side of character/monster sprites D0/29C5: 85 move to attacker position D0/29C6: 95 calculate vector from attacker to target D0/29C7: 93 00 move to vector position 0 D0/29C9: 8F 61 move forward 2 if mirrored D0/29CB: 81 07 07 change attacker graphic to 7 (jumping) D0/29CE: 0F [$0F] D0/29CF: A0 08 03 jump forward along vector at speed 8, branch to $29CE D0/29D2: 81 14 14 change attacker graphic to 20 (kneeling) D0/29D5: C9 00 play default sound effect D0/29D7: 89 0F loop start (15 times) D0/29D9: 0F [$0F] D0/29DA: 8A loop end D0/29DB: D1 01 invalidate character/monster sprite priority D0/29DD: 81 07 07 change attacker graphic to 7 (jumping) D0/29E0: 8B 0E animated loop start (14 times, increment frame offset each time) D0/29E2: 86 A7 move attacker up/forward 8 D0/29E4: 00 [$00] D0/29E5: 8C animated loop end D0/29E6: 89 04 loop start (4 times) D0/29E8: 86 A7 move attacker up/forward 8 D0/29EA: 0F [$0F] D0/29EB: 8A loop end D0/29EC: 89 13 loop start (19 times) D0/29EE: 86 87 move attacker back 8 D0/29F0: 8A loop end D0/29F1: 80 03 command $80/$03 D0/29F3: 80 01 command $80/$01 D0/29F5: E1 00 hide attacking character sprite D0/29F7: D1 00 validate character/monster sprite priority D0/29F9: 0F [$0F] D0/29FA: 0F [$0F] D0/29FB: D1 01 invalidate character/monster sprite priority D0/29FD: E1 01 show attacking character sprite D0/29FF: 89 13 loop start (19 times) D0/2A01: 86 C7 move attacker up 8 D0/2A03: 8A loop end D0/2A04: 89 13 loop start (19 times) D0/2A06: 86 27 move attacker down 8 D0/2A08: 0F [$0F] D0/2A09: 8A loop end D0/2A0A: 81 14 14 change attacker graphic to 20 (kneeling) D0/2A0D: 89 08 loop start (8 times) D0/2A0F: 0F [$0F] D0/2A10: 8A loop end D0/2A11: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/2A14: 80 4F move to attacking character position D0/2A16: 81 00 00 change attacker graphic to 0 (no action) D0/2A19: FF end of script ; [ Animation Script $01C5: Meteo (sprite) ] D0/2A1A: 00 00 speed 1, align to bottom of character/monster D0/2A1C: D1 01 invalidate character/monster sprite priority D0/2A1E: 83 AF move up/forward 16 D0/2A20: EB jump based on thread ($2A37, $2A29, $2A39, $2A42) D0/2A29: 83 DF move up 32 D0/2A2B: F4 01 show sprite behind character/monster sprites D0/2A2D: BF 43 2A jump to subroutine $2A43 D0/2A30: BF 43 2A jump to subroutine $2A43 D0/2A33: BF 43 2A jump to subroutine $2A43 D0/2A36: FF end of script D0/2A37: C9 00 play default sound effect D0/2A39: BF 43 2A jump to subroutine $2A43 D0/2A3C: BF 43 2A jump to subroutine $2A43 D0/2A3F: BF 43 2A jump to subroutine $2A43 D0/2A42: FF end of script D0/2A43: E9 1F 1F move animation randomly (0..31,0..31) D0/2A46: 89 04 loop start (4 times) D0/2A48: 83 FF move up/back 32 D0/2A4A: 8A loop end D0/2A4B: 89 13 loop start (19 times) D0/2A4D: 83 07 move down/forward 8 D0/2A4F: 00 [$00] D0/2A50: 8A loop end D0/2A51: 82 16 46 change target graphic to 22 (hit) D0/2A54: 8B 04 animated loop start (4 times, increment frame offset each time) D0/2A56: 01 [$01] D0/2A57: 01 [$01] D0/2A58: 01 [$01] D0/2A59: 8C animated loop end D0/2A5A: 82 00 00 change target graphic to 0 (no action) D0/2A5D: C0 return from subroutine ; [ Animation Script $01C4: Tentacle (sprite) ] D0/2A5E: 00 00 speed 1, align to bottom of character/monster D0/2A60: 83 9F move back 32 D0/2A62: 82 16 46 change target graphic to 22 (hit) D0/2A65: C9 00 play default sound effect D0/2A67: 89 03 loop start (3 times) D0/2A69: 83 67 move forward 8 D0/2A6B: 00 [$00] D0/2A6C: 8A loop end D0/2A6D: 89 03 loop start (3 times) D0/2A6F: 83 87 move back 8 D0/2A71: 00 [$00] D0/2A72: 8A loop end D0/2A73: 89 07 loop start (7 times) D0/2A75: 83 60 move forward 1 D0/2A77: 00 [$00] D0/2A78: 83 80 move back 1 D0/2A7A: 00 [$00] D0/2A7B: 8A loop end D0/2A7C: 82 00 00 change target graphic to 0 (no action) D0/2A7F: FF end of script ; [ Animation Script $01C3: Love Token (sprite) ] D0/2A80: 30 20 speed 4, align to center of character/monster D0/2A82: D1 01 invalidate character/monster sprite priority D0/2A84: C9 00 play default sound effect D0/2A86: 83 AF move up/forward 16 D0/2A88: E9 1F 1F move animation randomly (0..31,0..31) D0/2A8B: 8B 09 animated loop start (9 times, increment frame offset each time) D0/2A8D: 00 [$00] D0/2A8E: 8C animated loop end D0/2A8F: FF end of script ; [ Animation Script $01C1: ] D0/2A90: 00 00 speed 1, align to bottom of character/monster D0/2A92: 83 2F move down 16 D0/2A94: D1 01 invalidate character/monster sprite priority D0/2A96: CC FF set bg1 animation palette color subtraction to 31 (black) D0/2A98: C9 00 play default sound effect D0/2A9A: 89 1F loop start (31 times) D0/2A9C: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/2A9E: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/2AA1: 00 [$00] D0/2AA2: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/2AA5: 00 [$00] D0/2AA6: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/2AA9: 00 [$00] D0/2AAA: BD A0 hide bg1 thread D0/2AAC: 8A loop end D0/2AAD: B0 FF set background color addition to 31 (white) D0/2AAF: 89 0F loop start (15 times) D0/2AB1: B5 F2 decrease background color addition by 2 (white) D0/2AB3: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/2AB6: 00 [$00] D0/2AB7: 8A loop end D0/2AB8: 89 1F loop start (31 times) D0/2ABA: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/2ABC: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/2ABF: 00 [$00] D0/2AC0: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/2AC3: 00 [$00] D0/2AC4: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/2AC7: 00 [$00] D0/2AC8: 8A loop end D0/2AC9: FF end of script ; [ Animation Script $01C0: Heart Burn (sprite) ] D0/2ACA: 40 00 speed 5, align to bottom of character/monster D0/2ACC: C9 00 play default sound effect D0/2ACE: 83 20 move down 1 D0/2AD0: 0A [$0A] D0/2AD1: 09 [$09] D0/2AD2: 08 [$08] D0/2AD3: 07 [$07] D0/2AD4: 06 [$06] D0/2AD5: 05 [$05] D0/2AD6: 83 67 move forward 8 D0/2AD8: 04 [$04] D0/2AD9: 03 [$03] D0/2ADA: 02 [$02] D0/2ADB: 01 [$01] D0/2ADC: 00 [$00] D0/2ADD: 00 [$00] D0/2ADE: 00 [$00] D0/2ADF: 00 [$00] D0/2AE0: 00 [$00] D0/2AE1: 00 [$00] D0/2AE2: 01 [$01] D0/2AE3: 02 [$02] D0/2AE4: 03 [$03] D0/2AE5: 04 [$04] D0/2AE6: 83 87 move back 8 D0/2AE8: 05 [$05] D0/2AE9: 06 [$06] D0/2AEA: 07 [$07] D0/2AEB: 08 [$08] D0/2AEC: 09 [$09] D0/2AED: 0A [$0A] D0/2AEE: FF end of script ; [ Animation Script $01BE: Mute (sprite) ] D0/2AEF: 00 20 speed 1, align to center of character/monster D0/2AF1: D1 01 invalidate character/monster sprite priority D0/2AF3: 90 00 set animation tile priority to 0 D0/2AF5: 83 AF move up/forward 16 D0/2AF7: EB jump based on thread ($2B17, $2B00, $2B16, $2B16) D0/2B00: C9 00 play default sound effect D0/2B02: E9 1F 1F move animation randomly (0..31,0..31) D0/2B05: 84 03 set animation speed to 4 D0/2B07: 8B 04 animated loop start (4 times, increment frame offset each time) D0/2B09: 00 [$00] D0/2B0A: 8C animated loop end D0/2B0B: C9 00 play default sound effect D0/2B0D: E9 1F 1F move animation randomly (0..31,0..31) D0/2B10: 84 03 set animation speed to 4 D0/2B12: 8B 04 animated loop start (4 times, increment frame offset each time) D0/2B14: 00 [$00] D0/2B15: 8C animated loop end D0/2B16: FF end of script D0/2B17: C9 00 play default sound effect D0/2B19: E9 1F 1F move animation randomly (0..31,0..31) D0/2B1C: 84 03 set animation speed to 4 D0/2B1E: 8B 04 animated loop start (4 times, increment frame offset each time) D0/2B20: 00 [$00] D0/2B21: 8C animated loop end D0/2B22: E9 1F 1F move animation randomly (0..31,0..31) D0/2B25: C9 00 play default sound effect D0/2B27: 84 03 set animation speed to 4 D0/2B29: 8B 04 animated loop start (4 times, increment frame offset each time) D0/2B2B: 00 [$00] D0/2B2C: 8C animated loop end D0/2B2D: 89 04 loop start (4 times) D0/2B2F: 1F [---] D0/2B30: 8A loop end D0/2B31: C9 CC play sound effect $CC D0/2B33: 83 4F move down/back 16 D0/2B35: E9 00 00 move animation randomly (0..0,0..0) D0/2B38: 84 01 set animation speed to 2 D0/2B3A: 80 17 update sprite layer priority based on target D0/2B3C: EC 01 change thread layer to bg1 D0/2B3E: 80 32 44 2B 49 2B jump to $2B44 (left) or $2B49 (right) D0/2B44: 89 20 loop start (32 times) D0/2B46: 00 [$00] D0/2B47: 8A loop end D0/2B48: FF end of script D0/2B49: 89 20 loop start (32 times) D0/2B4B: 01 [$01] D0/2B4C: 8A loop end D0/2B4D: FF end of script ; [ Animation Script $01BC: Event Animation $01: Vargas' Blizzard Fist (bg1) ] D0/2B4E: 00 20 speed 1, align to center of character/monster D0/2B50: D0 20 set tile priority to 2 for all character/monster sprites D0/2B52: D1 01 invalidate character/monster sprite priority D0/2B54: C4 80 move bg1 thread to this thread's position D0/2B56: CC FF set bg1 animation palette color subtraction to 31 (black) D0/2B58: C9 00 play default sound effect D0/2B5A: 89 1F loop start (31 times) D0/2B5C: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/2B5E: A4 17 31 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift) D0/2B61: 00 [$00] D0/2B62: BD A0 hide bg1 thread D0/2B64: 8A loop end D0/2B65: 89 80 loop start (128 times) D0/2B67: A4 17 31 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift) D0/2B6A: 00 [$00] D0/2B6B: A4 17 31 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift) D0/2B6E: 00 [$00] D0/2B6F: 8A loop end D0/2B70: 89 1F loop start (31 times) D0/2B72: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/2B74: A4 17 31 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift) D0/2B77: 00 [$00] D0/2B78: 8A loop end D0/2B79: FF end of script ; [ Animation Script $01BD: Event Animation $01: Vargas' Blizzard Fist (bg3) ] D0/2B7A: 00 20 speed 1, align to center of character/monster D0/2B7C: C4 40 move bg3 thread to this thread's position D0/2B7E: F7 A0 wait until scanline 160 D0/2B80: AD 82 set bg3 hdma scroll type to 2 D0/2B82: AA FF set bg3 animation palette color subtraction to 31 (black) D0/2B84: 89 1F loop start (31 times) D0/2B86: B4 F1 decrease bg3 animation palette color subtraction by 1 (black) D0/2B88: 80 50 01 command $80/$50 D0/2B8B: 00 [$00] D0/2B8C: BD 50 hide bg3 thread D0/2B8E: 8A loop end D0/2B8F: 89 80 loop start (128 times) D0/2B91: 80 50 01 command $80/$50 D0/2B94: 00 [$00] D0/2B95: 80 50 01 command $80/$50 D0/2B98: 00 [$00] D0/2B99: 8A loop end D0/2B9A: 89 1F loop start (31 times) D0/2B9C: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/2B9E: 80 50 01 command $80/$50 D0/2BA1: 00 [$00] D0/2BA2: 8A loop end D0/2BA3: F7 A0 wait until scanline 160 D0/2BA5: 80 24 clear bg3 hdma scroll data D0/2BA7: AD 85 set bg3 hdma scroll type to 5 D0/2BA9: FF end of script ; [ Animation Script $01B9: 50 Gs (sprite) ] D0/2BAA: 00 20 speed 1, align to center of character/monster D0/2BAC: 89 20 loop start (32 times) D0/2BAE: 1F [---] D0/2BAF: 8A loop end D0/2BB0: 89 40 loop start (64 times) D0/2BB2: A3 17 B3 shift colors (1..8) of sprite animation palette left (11 loops per shift) D0/2BB5: 00 [$00] D0/2BB6: 8A loop end D0/2BB7: FF end of script ; [ Animation Script $01BA: 50 Gs (bg1) ] D0/2BB8: 00 20 speed 1, align to center of character/monster D0/2BBA: C4 80 move bg1 thread to this thread's position D0/2BBC: C9 00 play default sound effect D0/2BBE: F7 A0 wait until scanline 160 D0/2BC0: AD 06 set bg1 hdma scroll type to 6 D0/2BC2: 80 46 61 command $80/$46 D0/2BC5: 80 47 11 command $80/$47 D0/2BC8: AC 81 84 set (bg1) hdma scroll data (amplitude 4, frequency 1, vertical) D0/2BCB: AC 41 44 set (bg2) hdma scroll data (amplitude 4, frequency 1, horizontal) D0/2BCE: 89 80 loop start (128 times) D0/2BD0: AE 42 update (bg2) hdma scroll data (horizontal) D0/2BD2: AE 84 update (bg1) hdma scroll data (vertical) D0/2BD4: 00 [$00] D0/2BD5: 8A loop end D0/2BD6: F7 A0 wait until scanline 160 D0/2BD8: 80 46 0C command $80/$46 D0/2BDB: 80 47 10 command $80/$47 D0/2BDE: AD 03 set bg1 hdma scroll type to 3 D0/2BE0: C4 80 move bg1 thread to this thread's position D0/2BE2: AC C0 C0 set (bg2, bg1) hdma scroll data (amplitude 0, frequency 0, horizontal and vertical) D0/2BE5: AE C6 update (bg2, bg1) hdma scroll data (horizontal and vertical) D0/2BE7: 80 25 clear bg1 hdma scroll data D0/2BE9: FF end of script ; [ Animation Script $01B8: Absolute 0 (bg1) ] D0/2BEA: 00 A0 speed 1, align to center of screen D0/2BEC: C9 00 play default sound effect D0/2BEE: D1 01 invalidate character/monster sprite priority D0/2BF0: C4 80 move bg1 thread to this thread's position D0/2BF2: D0 20 set tile priority to 2 for all character/monster sprites D0/2BF4: AF C0 set background color subtraction to 0 (blue) D0/2BF6: 89 1F loop start (31 times) D0/2BF8: B6 C1 increase background color subtraction by 1 (blue) D0/2BFA: 0F [$0F] D0/2BFB: 8A loop end D0/2BFC: C9 37 play sound effect $37 D0/2BFE: CD FF set bg1 animation palette color addition to 31 (white) D0/2C00: 89 1F loop start (31 times) D0/2C02: CE F1 decrease bg1 animation palette color addition by 1 (white) D0/2C04: 00 [$00] D0/2C05: 8A loop end D0/2C06: 89 40 loop start (64 times) D0/2C08: 00 [$00] D0/2C09: 8A loop end D0/2C0A: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/2C0C: 89 1F loop start (31 times) D0/2C0E: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/2C10: B6 D1 decrease background color subtraction by 1 (blue) D0/2C12: 00 [$00] D0/2C13: 8A loop end D0/2C14: FF end of script ; [ Animation Script $01B6: Overcast (sprite) ] D0/2C15: 00 20 speed 1, align to center of character/monster D0/2C17: 89 40 loop start (64 times) D0/2C19: 1F [---] D0/2C1A: 8A loop end D0/2C1B: 84 04 set animation speed to 5 D0/2C1D: 8B 04 animated loop start (4 times, increment frame offset each time) D0/2C1F: 00 [$00] D0/2C20: 8C animated loop end D0/2C21: 89 02 loop start (2 times) D0/2C23: 05 [$05] D0/2C24: 06 [$06] D0/2C25: 07 [$07] D0/2C26: 08 [$08] D0/2C27: 8A loop end D0/2C28: 05 [$05] D0/2C29: 09 [$09] D0/2C2A: 0A [$0A] D0/2C2B: FF end of script ; [ Animation Script $01B7: Overcast (bg1) ] D0/2C2C: 00 A0 speed 1, align to center of screen D0/2C2E: D1 01 invalidate character/monster sprite priority D0/2C30: BD A0 hide bg1 thread D0/2C32: C4 80 move bg1 thread to this thread's position D0/2C34: D0 30 set tile priority to 3 for all character/monster sprites D0/2C36: C9 00 play default sound effect D0/2C38: F7 A0 wait until scanline 160 D0/2C3A: AF E0 set background color subtraction to 0 (black) D0/2C3C: 89 04 loop start (4 times) D0/2C3E: 83 C7 move up 8 D0/2C40: 8A loop end D0/2C41: 80 3A 1F set gradient line intensity to 31 D0/2C44: F7 A0 wait until scanline 160 D0/2C46: D4 20 22 00 add fixed color to (back area, bg2) D0/2C4A: 89 1E loop start (30 times) D0/2C4C: F7 A0 wait until scanline 160 D0/2C4E: 80 5F FF command $80/$5F D0/2C51: 0F [$0F] D0/2C52: 8A loop end D0/2C53: 89 1F loop start (31 times) D0/2C55: B6 E1 increase background color subtraction by 1 (black) D0/2C57: 0F [$0F] D0/2C58: 8A loop end D0/2C59: F7 A0 wait until scanline 160 D0/2C5B: 80 42 00 disable bg1 mirroring (mode 7) D0/2C5E: 80 41 00 00 40 40 zoom bg1 (0,0), move bg1 (64,64) D0/2C64: 80 41 00 00 40 40 zoom bg1 (0,0), move bg1 (64,64) D0/2C6A: 80 3E 10 enable (sprites) in main screen D0/2C6D: 80 40 07 set screen to mode 7 D0/2C70: CC FF set bg1 animation palette color subtraction to 31 (black) D0/2C72: C9 AE play sound effect $AE D0/2C74: 89 1F loop start (31 times) D0/2C76: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/2C78: 80 5E command $80/$5E D0/2C7A: 0F [$0F] D0/2C7B: 80 3E 11 enable (sprites, bg1) in main screen D0/2C7E: 8A loop end D0/2C7F: 89 5E loop start (94 times) D0/2C81: 80 5E command $80/$5E D0/2C83: 0F [$0F] D0/2C84: 8A loop end D0/2C85: F7 A0 wait until scanline 160 D0/2C87: 80 3E 12 enable (sprites, bg2) in main screen D0/2C8A: 80 40 01 set screen to mode 1 D0/2C8D: B6 F1 decrease background color subtraction by 1 (black) D0/2C8F: 89 1E loop start (30 times) D0/2C91: B6 F1 decrease background color subtraction by 1 (black) D0/2C93: F7 A0 wait until scanline 160 D0/2C95: 80 5F 01 command $80/$5F D0/2C98: 0F [$0F] D0/2C99: 8A loop end D0/2C9A: BF A0 2C jump to subroutine $2CA0 D0/2C9D: 80 37 clear fixed color value hdma data D0/2C9F: FF end of script D0/2CA0: 80 6C command $80/$6C D0/2CA2: F7 A0 wait until scanline 160 D0/2CA4: 80 3E 12 enable (sprites, bg2) in main screen D0/2CA7: BD 80 show bg1 thread D0/2CA9: EA 81 set bg1 tile data quadrant to 1 D0/2CAB: 0F [$0F] D0/2CAC: EA 82 set bg1 tile data quadrant to 2 D0/2CAE: 0F [$0F] D0/2CAF: EA 83 set bg1 tile data quadrant to 3 D0/2CB1: 0F [$0F] D0/2CB2: 0F [$0F] D0/2CB3: C0 return from subroutine ; [ Animation Script $01B4: Disaster (sprite) ] D0/2CB4: 00 20 speed 1, align to center of character/monster D0/2CB6: 85 move to attacker position D0/2CB7: 89 40 loop start (64 times) D0/2CB9: 1F [---] D0/2CBA: 8A loop end D0/2CBB: 95 calculate vector from attacker to target D0/2CBC: 80 5D command $80/$5D D0/2CBE: 00 [$00] D0/2CBF: 92 02 05 move along vector at speed 2, branch to $2CBC D0/2CC2: 82 16 46 change target graphic to 22 (hit) D0/2CC5: 80 5D command $80/$5D D0/2CC7: 84 03 set animation speed to 4 D0/2CC9: 89 07 loop start (7 times) D0/2CCB: 83 61 move forward 2 D0/2CCD: 00 [$00] D0/2CCE: 83 81 move back 2 D0/2CD0: 00 [$00] D0/2CD1: 8A loop end D0/2CD2: 82 00 00 change target graphic to 0 (no action) D0/2CD5: FF end of script ; [ Animation Script $01B5: Disaster (bg1) ] D0/2CD6: 00 A0 speed 1, align to center of screen D0/2CD8: D1 01 invalidate character/monster sprite priority D0/2CDA: C9 00 play default sound effect D0/2CDC: D0 20 set tile priority to 2 for all character/monster sprites D0/2CDE: C4 80 move bg1 thread to this thread's position D0/2CE0: 89 07 loop start (7 times) D0/2CE2: 83 9F move back 32 D0/2CE4: 8A loop end D0/2CE5: F7 A0 wait until scanline 160 D0/2CE7: AD 06 set bg1 hdma scroll type to 6 D0/2CE9: AC 81 44 set (bg1) hdma scroll data (amplitude 4, frequency 1, horizontal) D0/2CEC: CC FF set bg1 animation palette color subtraction to 31 (black) D0/2CEE: AF E0 set background color subtraction to 0 (black) D0/2CF0: 89 07 loop start (7 times) D0/2CF2: B6 E1 increase background color subtraction by 1 (black) D0/2CF4: 00 [$00] D0/2CF5: 8A loop end D0/2CF6: 89 1F loop start (31 times) D0/2CF8: AE 44 update (bg1) hdma scroll data (horizontal) D0/2CFA: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/2CFC: 83 61 move forward 2 D0/2CFE: 00 [$00] D0/2CFF: BD A0 hide bg1 thread D0/2D01: 8A loop end D0/2D02: 89 80 loop start (128 times) D0/2D04: AE 44 update (bg1) hdma scroll data (horizontal) D0/2D06: 83 61 move forward 2 D0/2D08: 00 [$00] D0/2D09: 8A loop end D0/2D0A: 89 1F loop start (31 times) D0/2D0C: AE 44 update (bg1) hdma scroll data (horizontal) D0/2D0E: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/2D10: 83 61 move forward 2 D0/2D12: 00 [$00] D0/2D13: 8A loop end D0/2D14: AC 80 40 set (bg1) hdma scroll data (amplitude 0, frequency 0, horizontal) D0/2D17: 89 07 loop start (7 times) D0/2D19: B6 F1 decrease background color subtraction by 1 (black) D0/2D1B: 00 [$00] D0/2D1C: 8A loop end D0/2D1D: F7 A0 wait until scanline 160 D0/2D1F: 80 25 clear bg1 hdma scroll data D0/2D21: AD 03 set bg1 hdma scroll type to 3 D0/2D23: FF end of script ; [ Animation Script $01B1: Force Field (bg3) ] D0/2D24: 00 20 speed 1, align to center of character/monster D0/2D26: D1 01 invalidate character/monster sprite priority D0/2D28: C4 40 move bg3 thread to this thread's position D0/2D2A: A5 80 48 00 FF FF FF 00 init circle at (128,72) D0/2D32: 00 [$00] D0/2D33: BD 50 hide bg3 thread D0/2D35: C9 00 play default sound effect D0/2D37: 80 26 01 disable character palette updates D0/2D3A: B0 E0 set background color addition to 0 (white) D0/2D3C: BA E0 set monster color addition to 0 (white) D0/2D3E: FC E0 set character color addition to 0 (white) D0/2D40: AB E0 set bg3 animation palette color addition to 0 (white) D0/2D42: 89 1F loop start (31 times) D0/2D44: A6 00 00 02 move circle (+0,+0) and grow by 2 D0/2D48: B5 E1 increase background color addition by 1 (white) D0/2D4A: B3 E1 increase bg3 animation palette color addition by 1 (white) D0/2D4C: A7 update circle D0/2D4D: 00 [$00] D0/2D4E: BB E1 increase monster color addition by 1 (white) D0/2D50: FD E1 increase character color addition by 1 (white) D0/2D52: A6 00 00 02 move circle (+0,+0) and grow by 2 D0/2D56: A7 update circle D0/2D57: 00 [$00] D0/2D58: 8A loop end D0/2D59: BD 40 show bg3 thread D0/2D5B: 09 [$09] D0/2D5C: BD 50 hide bg3 thread D0/2D5E: 89 1F loop start (31 times) D0/2D60: BB F1 decrease monster color addition by 1 (white) D0/2D62: FD F1 decrease character color addition by 1 (white) D0/2D64: B5 F1 decrease background color addition by 1 (white) D0/2D66: 09 [$09] D0/2D67: 8A loop end D0/2D68: 80 26 00 enable character palette updates D0/2D6B: FF end of script ; [ Animation Script $01AE: Event Animation $00: Terra/Tritoch Lightning (sprite) ] D0/2D6C: 00 20 speed 1, align to center of character/monster D0/2D6E: 85 move to attacker position D0/2D6F: 90 30 set animation tile priority to 3 D0/2D71: 89 78 loop start (120 times) D0/2D73: 1F [---] D0/2D74: 1F [---] D0/2D75: 8A loop end D0/2D76: 84 03 set animation speed to 4 D0/2D78: 83 BF move up/forward 32 D0/2D7A: 89 04 loop start (4 times) D0/2D7C: C9 15 play sound effect $15 D0/2D7E: E9 3F 3F move animation randomly (0..63,0..63) D0/2D81: 00 [$00] D0/2D82: 01 [$01] D0/2D83: 02 [$02] D0/2D84: 03 [$03] D0/2D85: 04 [$04] D0/2D86: 05 [$05] D0/2D87: 06 [$06] D0/2D88: 07 [$07] D0/2D89: 8A loop end D0/2D8A: FF end of script ; [ Animation Script $01CE: Event Animation $02: Terra/Tritoch Lightning w/o Explosions (bg1) ] D0/2D8B: 00 20 speed 1, align to center of character/monster D0/2D8D: D1 01 invalidate character/monster sprite priority D0/2D8F: C4 80 move bg1 thread to this thread's position D0/2D91: D0 20 set tile priority to 2 for all character/monster sprites D0/2D93: 83 A7 move up/forward 8 D0/2D95: F7 A0 wait until scanline 160 D0/2D97: D4 02 05 12 add (sprites, bg2) to (bg3, bg1) D0/2D9B: CC FF set bg1 animation palette color subtraction to 31 (black) D0/2D9D: 00 [$00] D0/2D9E: BD A0 hide bg1 thread D0/2DA0: 89 1F loop start (31 times) D0/2DA2: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/2DA4: A3 15 32 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/2DA7: 00 [$00] D0/2DA8: A3 15 32 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/2DAB: 00 [$00] D0/2DAC: A3 15 32 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/2DAF: 00 [$00] D0/2DB0: A3 15 32 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/2DB3: 00 [$00] D0/2DB4: 8A loop end D0/2DB5: 89 C0 loop start (192 times) D0/2DB7: A3 15 32 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/2DBA: 00 [$00] D0/2DBB: 8A loop end D0/2DBC: 89 1F loop start (31 times) D0/2DBE: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/2DC0: A3 15 32 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/2DC3: 00 [$00] D0/2DC4: A3 15 32 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/2DC7: 00 [$00] D0/2DC8: A3 15 32 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/2DCB: 00 [$00] D0/2DCC: A3 15 32 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/2DCF: 00 [$00] D0/2DD0: 8A loop end D0/2DD1: FF end of script ; [ Animation Script $01AF: Event Animation $00: Terra/Tritoch Lightning (bg1) ] D0/2DD2: 00 20 speed 1, align to center of character/monster D0/2DD4: D1 01 invalidate character/monster sprite priority D0/2DD6: C4 80 move bg1 thread to this thread's position D0/2DD8: D0 20 set tile priority to 2 for all character/monster sprites D0/2DDA: 83 A7 move up/forward 8 D0/2DDC: F7 A0 wait until scanline 160 D0/2DDE: D4 02 05 12 add (sprites, bg2) to (bg3, bg1) D0/2DE2: C9 51 play sound effect $51 D0/2DE4: CC FF set bg1 animation palette color subtraction to 31 (black) D0/2DE6: 00 [$00] D0/2DE7: BD A0 hide bg1 thread D0/2DE9: 89 1F loop start (31 times) D0/2DEB: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/2DED: A3 15 32 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/2DF0: 00 [$00] D0/2DF1: A3 15 32 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/2DF4: 00 [$00] D0/2DF5: A3 15 32 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/2DF8: 00 [$00] D0/2DF9: A3 15 32 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/2DFC: 00 [$00] D0/2DFD: 8A loop end D0/2DFE: 89 80 loop start (128 times) D0/2E00: A3 15 32 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/2E03: 00 [$00] D0/2E04: 8A loop end D0/2E05: B0 E0 set background color addition to 0 (white) D0/2E07: 89 1F loop start (31 times) D0/2E09: B5 81 increase background color addition by 1 (red) D0/2E0B: A3 15 32 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/2E0E: 00 [$00] D0/2E0F: A3 15 32 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/2E12: 00 [$00] D0/2E13: 8A loop end D0/2E14: B2 E0 set sprite animation palette color addition to 0 (white) D0/2E16: BA E0 set monster color addition to 0 (white) D0/2E18: FC E0 set character color addition to 0 (white) D0/2E1A: CD E0 set bg1 animation palette color addition to 0 (white) D0/2E1C: 80 26 01 disable character palette updates D0/2E1F: 89 1F loop start (31 times) D0/2E21: A3 15 32 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/2E24: B5 61 increase background color addition by 1 (cyan) D0/2E26: BB E1 increase monster color addition by 1 (white) D0/2E28: 00 [$00] D0/2E29: A3 15 32 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/2E2C: B7 E1 increase sprite animation palette color addition by 1 (white) D0/2E2E: CE E1 increase bg1 animation palette color addition by 1 (white) D0/2E30: FD E1 increase character color addition by 1 (white) D0/2E32: 00 [$00] D0/2E33: 8A loop end D0/2E34: C7 0B 80 20 00 spc command $80, $20, $00 D0/2E39: 80 6D disable battle menu D0/2E3B: 84 02 set animation speed to 3 D0/2E3D: 89 0F loop start (15 times) D0/2E3F: 80 1C decrement screen brightness D0/2E41: 00 [$00] D0/2E42: 8A loop end D0/2E43: FF end of script ; [ Animation Script $01B0: Event Animation $00/$02: Terra/Tritoch Lightning (bg3) ] D0/2E44: 00 20 speed 1, align to center of character/monster D0/2E46: C4 40 move bg3 thread to this thread's position D0/2E48: 89 80 loop start (128 times) D0/2E4A: 09 [$09] D0/2E4B: 8A loop end D0/2E4C: 84 04 set animation speed to 5 D0/2E4E: 83 A7 move up/forward 8 D0/2E50: 8B 08 animated loop start (8 times, increment frame offset each time) D0/2E52: 00 [$00] D0/2E53: 8C animated loop end D0/2E54: 8B 08 animated loop start (8 times, increment frame offset each time) D0/2E56: 00 [$00] D0/2E57: 8C animated loop end D0/2E58: 8B 08 animated loop start (8 times, increment frame offset each time) D0/2E5A: 00 [$00] D0/2E5B: 8C animated loop end D0/2E5C: 8B 08 animated loop start (8 times, increment frame offset each time) D0/2E5E: 00 [$00] D0/2E5F: 8C animated loop end D0/2E60: FF end of script ; [ Animation Script $01AC: S. Cross (sprite) ] D0/2E61: 00 A0 speed 1, align to center of screen D0/2E63: 80 2E 80 48 move to (128,72) D0/2E67: BF 71 2E jump to subroutine $2E71 D0/2E6A: BF 71 2E jump to subroutine $2E71 D0/2E6D: BF 71 2E jump to subroutine $2E71 D0/2E70: FF end of script D0/2E71: 80 11 choose random polar angle D0/2E73: EB jump based on thread ($2E78, $2E9F) D0/2E78: E8 FF 00 move in polar coordinates (-1,0) D0/2E7B: 89 07 loop start (7 times) D0/2E7D: E8 F8 00 move in polar coordinates (-8,0) D0/2E80: 04 [$04] D0/2E81: 8A loop end D0/2E82: 89 07 loop start (7 times) D0/2E84: E8 F8 00 move in polar coordinates (-8,0) D0/2E87: 03 [$03] D0/2E88: 8A loop end D0/2E89: 89 07 loop start (7 times) D0/2E8B: E8 FA 00 move in polar coordinates (-6,0) D0/2E8E: 02 [$02] D0/2E8F: 8A loop end D0/2E90: 89 07 loop start (7 times) D0/2E92: E8 FC 00 move in polar coordinates (-4,0) D0/2E95: 01 [$01] D0/2E96: 8A loop end D0/2E97: 89 07 loop start (7 times) D0/2E99: E8 FE 00 move in polar coordinates (-2,0) D0/2E9C: 00 [$00] D0/2E9D: 8A loop end D0/2E9E: C0 return from subroutine D0/2E9F: E8 B4 00 move in polar coordinates (-76,0) D0/2EA2: 89 07 loop start (7 times) D0/2EA4: E8 FC 00 move in polar coordinates (-4,0) D0/2EA7: 04 [$04] D0/2EA8: 8A loop end D0/2EA9: 89 07 loop start (7 times) D0/2EAB: E8 FC 00 move in polar coordinates (-4,0) D0/2EAE: 03 [$03] D0/2EAF: 8A loop end D0/2EB0: 89 07 loop start (7 times) D0/2EB2: E8 FC 00 move in polar coordinates (-4,0) D0/2EB5: 02 [$02] D0/2EB6: 8A loop end D0/2EB7: 89 07 loop start (7 times) D0/2EB9: E8 FD 00 move in polar coordinates (-3,0) D0/2EBC: 01 [$01] D0/2EBD: 8A loop end D0/2EBE: 89 07 loop start (7 times) D0/2EC0: E8 FE 00 move in polar coordinates (-2,0) D0/2EC3: 00 [$00] D0/2EC4: 8A loop end D0/2EC5: C0 return from subroutine ; [ Animation Script $01AD: S. Cross (bg1) ] D0/2EC6: 00 A0 speed 1, align to center of screen D0/2EC8: D1 01 invalidate character/monster sprite priority D0/2ECA: BD A0 hide bg1 thread D0/2ECC: C4 80 move bg1 thread to this thread's position D0/2ECE: 80 8C 00 play sound effect $00 (pan center) D0/2ED1: F7 A0 wait until scanline 160 D0/2ED3: D4 20 22 00 add fixed color to (back area, bg2) D0/2ED7: 80 3A 0F set gradient line intensity to 15 D0/2EDA: AF E0 set background color subtraction to 0 (black) D0/2EDC: 89 0F loop start (15 times) D0/2EDE: B6 E2 increase background color subtraction by 2 (black) D0/2EE0: 80 39 FF update blue gradient lines, increase intensity by 1 D0/2EE3: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/2EE6: F7 D8 wait until scanline 216 D0/2EE8: 0F [$0F] D0/2EE9: 8A loop end D0/2EEA: 80 42 00 disable bg1 mirroring (mode 7) D0/2EED: 80 41 00 00 F0 00 zoom bg1 (0,0), move bg1 (-16,0) D0/2EF3: F7 A0 wait until scanline 160 D0/2EF5: 80 3E 10 enable (sprites) in main screen D0/2EF8: 80 40 07 set screen to mode 7 D0/2EFB: D0 00 set tile priority to 0 for all character/monster sprites D0/2EFD: 89 1F loop start (31 times) D0/2EFF: 80 41 F8 F8 00 00 zoom bg1 (-8,-8), move bg1 (0,0) D0/2F05: 80 39 00 update blue gradient lines D0/2F08: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/2F0B: F7 D8 wait until scanline 216 D0/2F0D: 00 [$00] D0/2F0E: 80 3E 11 enable (sprites, bg1) in main screen D0/2F11: 8A loop end D0/2F12: 80 3E 10 enable (sprites) in main screen D0/2F15: 80 42 01 mirror bg1 horizontal (mode 7) D0/2F18: 80 41 40 40 00 00 zoom bg1 (64,64), move bg1 (0,0) D0/2F1E: 80 41 40 40 00 00 zoom bg1 (64,64), move bg1 (0,0) D0/2F24: 80 41 40 40 00 00 zoom bg1 (64,64), move bg1 (0,0) D0/2F2A: 80 41 40 40 00 00 zoom bg1 (64,64), move bg1 (0,0) D0/2F30: 89 1F loop start (31 times) D0/2F32: 80 41 F8 F8 00 00 zoom bg1 (-8,-8), move bg1 (0,0) D0/2F38: 80 39 00 update blue gradient lines D0/2F3B: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/2F3E: F7 D8 wait until scanline 216 D0/2F40: 00 [$00] D0/2F41: 80 3E 11 enable (sprites, bg1) in main screen D0/2F44: 8A loop end D0/2F45: 80 3E 10 enable (sprites) in main screen D0/2F48: 80 41 40 40 00 00 zoom bg1 (64,64), move bg1 (0,0) D0/2F4E: 80 41 40 40 00 00 zoom bg1 (64,64), move bg1 (0,0) D0/2F54: 80 41 40 40 00 00 zoom bg1 (64,64), move bg1 (0,0) D0/2F5A: 80 41 40 40 00 00 zoom bg1 (64,64), move bg1 (0,0) D0/2F60: 80 32 66 2F 75 2F jump to $2F66 (left) or $2F75 (right) D0/2F66: 80 42 01 mirror bg1 horizontal (mode 7) D0/2F69: 83 9F move back 32 D0/2F6B: 83 9F move back 32 D0/2F6D: 83 9F move back 32 D0/2F6F: 83 9F move back 32 D0/2F71: 83 9F move back 32 D0/2F73: 83 9F move back 32 D0/2F75: 83 7F move forward 32 D0/2F77: 83 7F move forward 32 D0/2F79: 83 7F move forward 32 D0/2F7B: 80 41 00 00 10 08 zoom bg1 (0,0), move bg1 (16,8) D0/2F81: 80 41 00 00 20 00 zoom bg1 (0,0), move bg1 (32,0) D0/2F87: 89 1F loop start (31 times) D0/2F89: 80 41 F8 F8 00 00 zoom bg1 (-8,-8), move bg1 (0,0) D0/2F8F: 80 39 00 update blue gradient lines D0/2F92: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/2F95: F7 D8 wait until scanline 216 D0/2F97: 00 [$00] D0/2F98: 80 3E 11 enable (sprites, bg1) in main screen D0/2F9B: 8A loop end D0/2F9C: D0 30 set tile priority to 3 for all character/monster sprites D0/2F9E: F7 A0 wait until scanline 160 D0/2FA0: 80 3E 16 enable (sprites, bg3, bg2) in main screen D0/2FA3: 80 40 01 set screen to mode 1 D0/2FA6: 89 0F loop start (15 times) D0/2FA8: B6 F2 decrease background color subtraction by 2 (black) D0/2FAA: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/2FAD: F7 D8 wait until scanline 216 D0/2FAF: 0F [$0F] D0/2FB0: 8A loop end D0/2FB1: B0 E0 set background color addition to 0 (white) D0/2FB3: B2 E0 set sprite animation palette color addition to 0 (white) D0/2FB5: BA E0 set monster color addition to 0 (white) D0/2FB7: FC E0 set character color addition to 0 (white) D0/2FB9: 80 26 01 disable character palette updates D0/2FBC: 89 0F loop start (15 times) D0/2FBE: B5 E2 increase background color addition by 2 (white) D0/2FC0: B7 E2 increase sprite animation palette color addition by 2 (white) D0/2FC2: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/2FC5: 80 39 00 update blue gradient lines D0/2FC8: 0F [$0F] D0/2FC9: BB E2 increase monster color addition by 2 (white) D0/2FCB: FD E2 increase character color addition by 2 (white) D0/2FCD: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/2FD0: 80 39 00 update blue gradient lines D0/2FD3: 0F [$0F] D0/2FD4: 8A loop end D0/2FD5: 80 37 clear fixed color value hdma data D0/2FD7: 89 0F loop start (15 times) D0/2FD9: B5 F2 decrease background color addition by 2 (white) D0/2FDB: 0F [$0F] D0/2FDC: BB F2 decrease monster color addition by 2 (white) D0/2FDE: FD F2 decrease character color addition by 2 (white) D0/2FE0: 0F [$0F] D0/2FE1: 8A loop end D0/2FE2: BF A0 2C jump to subroutine $2CA0 D0/2FE5: 80 26 00 enable character palette updates D0/2FE8: FF end of script ; [ Animation Script $01AB: Mind Blast (bg3) ] D0/2FE9: 30 A0 speed 4, align to center of screen D0/2FEB: BD 50 hide bg3 thread D0/2FED: B0 E0 set background color addition to 0 (white) D0/2FEF: 89 0F loop start (15 times) D0/2FF1: B5 81 increase background color addition by 1 (red) D0/2FF3: 09 [$09] D0/2FF4: 8A loop end D0/2FF5: 89 0F loop start (15 times) D0/2FF7: B5 91 decrease background color addition by 1 (red) D0/2FF9: B5 21 increase background color addition by 1 (blue) D0/2FFB: 09 [$09] D0/2FFC: 8A loop end D0/2FFD: 89 0F loop start (15 times) D0/2FFF: B5 31 decrease background color addition by 1 (blue) D0/3001: B5 C1 increase background color addition by 1 (yellow) D0/3003: 09 [$09] D0/3004: 8A loop end D0/3005: 89 0F loop start (15 times) D0/3007: B5 91 decrease background color addition by 1 (red) D0/3009: 09 [$09] D0/300A: 8A loop end D0/300B: 89 0F loop start (15 times) D0/300D: B5 51 decrease background color addition by 1 (green) D0/300F: 09 [$09] D0/3010: 8A loop end D0/3011: 84 01 set animation speed to 2 D0/3013: 89 0F loop start (15 times) D0/3015: B5 E2 increase background color addition by 2 (white) D0/3017: 09 [$09] D0/3018: 8A loop end D0/3019: 89 40 loop start (64 times) D0/301B: 09 [$09] D0/301C: 8A loop end D0/301D: 89 1F loop start (31 times) D0/301F: B5 F1 decrease background color addition by 1 (white) D0/3021: 09 [$09] D0/3022: 8A loop end D0/3023: FF end of script ; [ Animation Script $01AA: Mind Blast (bg1) ] D0/3024: 00 A0 speed 1, align to center of screen D0/3026: C4 80 move bg1 thread to this thread's position D0/3028: D1 01 invalidate character/monster sprite priority D0/302A: BD A0 hide bg1 thread D0/302C: 80 8C 00 play sound effect $00 (pan center) D0/302F: F7 A0 wait until scanline 160 D0/3031: AD 06 set bg1 hdma scroll type to 6 D0/3033: D4 00 10 00 add fixed color to (sprites) D0/3037: 80 33 0C update rainbow gradient lines (intensity 3) D0/303A: AC 81 42 set (bg1) hdma scroll data (amplitude 2, frequency 1, horizontal) D0/303D: BF AE 30 jump to subroutine $30AE D0/3040: 80 33 07 update rainbow gradient lines (intensity 8) D0/3043: AC 81 44 set (bg1) hdma scroll data (amplitude 4, frequency 1, horizontal) D0/3046: BF AE 30 jump to subroutine $30AE D0/3049: 80 33 05 update rainbow gradient lines (intensity 10) D0/304C: AC 81 48 set (bg1) hdma scroll data (amplitude 8, frequency 1, horizontal) D0/304F: BF AE 30 jump to subroutine $30AE D0/3052: 80 33 03 update rainbow gradient lines (intensity 12) D0/3055: AC 81 4C set (bg1) hdma scroll data (amplitude 12, frequency 1, horizontal) D0/3058: BF AE 30 jump to subroutine $30AE D0/305B: 80 33 01 update rainbow gradient lines (intensity 14) D0/305E: AC 81 4F set (bg1) hdma scroll data (amplitude 15, frequency 1, horizontal) D0/3061: CD E0 set bg1 animation palette color addition to 0 (white) D0/3063: 89 1F loop start (31 times) D0/3065: CE E1 increase bg1 animation palette color addition by 1 (white) D0/3067: AE 44 update (bg1) hdma scroll data (horizontal) D0/3069: 80 33 00 update rainbow gradient lines (intensity 15) D0/306C: 0F [$0F] D0/306D: 8A loop end D0/306E: 80 5B command $80/$5B D0/3070: 89 FF loop start (255 times) D0/3072: AE 44 update (bg1) hdma scroll data (horizontal) D0/3074: 80 5A command $80/$5A D0/3076: 80 33 00 update rainbow gradient lines (intensity 15) D0/3079: 0F [$0F] D0/307A: 8A loop end D0/307B: 80 26 01 disable character palette updates D0/307E: BA E0 set monster color addition to 0 (white) D0/3080: FC E0 set character color addition to 0 (white) D0/3082: 89 1F loop start (31 times) D0/3084: BB E1 increase monster color addition by 1 (white) D0/3086: FD E1 increase character color addition by 1 (white) D0/3088: AE 44 update (bg1) hdma scroll data (horizontal) D0/308A: 80 5A command $80/$5A D0/308C: 80 33 00 update rainbow gradient lines (intensity 15) D0/308F: 0F [$0F] D0/3090: 8A loop end D0/3091: 80 33 0F update rainbow gradient lines (intensity 0) D0/3094: F7 A0 wait until scanline 160 D0/3096: 80 24 clear bg3 hdma scroll data D0/3098: 80 5C command $80/$5C D0/309A: 89 1F loop start (31 times) D0/309C: CE F1 decrease bg1 animation palette color addition by 1 (white) D0/309E: BB F1 decrease monster color addition by 1 (white) D0/30A0: FD F1 decrease character color addition by 1 (white) D0/30A2: 0F [$0F] D0/30A3: 8A loop end D0/30A4: F7 A0 wait until scanline 160 D0/30A6: AD 03 set bg1 hdma scroll type to 3 D0/30A8: 80 26 00 enable character palette updates D0/30AB: 80 37 clear fixed color value hdma data D0/30AD: FF end of script D0/30AE: 89 0F loop start (15 times) D0/30B0: AE 44 update (bg1) hdma scroll data (horizontal) D0/30B2: F7 A0 wait until scanline 160 D0/30B4: 80 33 00 update rainbow gradient lines (intensity 15) D0/30B7: 0F [$0F] D0/30B8: 8A loop end D0/30B9: C0 return from subroutine ; [ Animation Script $01A9: Step Forward to Attack (sprite) ] D0/30BA: 00 20 speed 1, align to center of character/monster D0/30BC: DB 03 branch to $30C1 if character already stepped forward to attack D0/30BE: BF 19 70 jump to subroutine $7019 D0/30C1: FF end of script ; [ Animation Script $01A8: ] D0/30C2: 00 20 speed 1, align to center of character/monster D0/30C4: BD 50 hide bg3 thread D0/30C6: 89 0F loop start (15 times) D0/30C8: 09 [$09] D0/30C9: 8A loop end D0/30CA: B0 FF set background color addition to 31 (white) D0/30CC: 89 07 loop start (7 times) D0/30CE: B5 F4 decrease background color addition by 4 (white) D0/30D0: 09 [$09] D0/30D1: 8A loop end D0/30D2: FF end of script ; [ Animation Script $01A4: Flare Star (sprite) ] D0/30D3: 00 20 speed 1, align to center of character/monster D0/30D5: 89 60 loop start (96 times) D0/30D7: 1F [---] D0/30D8: 8A loop end D0/30D9: 84 02 set animation speed to 3 D0/30DB: 8B 14 animated loop start (20 times, increment frame offset each time) D0/30DD: 00 [$00] D0/30DE: 8C animated loop end D0/30DF: FF end of script ; [ Animation Script $01A5: Flare Star (bg1) ] D0/30E0: 00 20 speed 1, align to center of character/monster D0/30E2: D0 20 set tile priority to 2 for all character/monster sprites D0/30E4: D1 01 invalidate character/monster sprite priority D0/30E6: C4 80 move bg1 thread to this thread's position D0/30E8: AC 81 C4 set (bg1) hdma scroll data (amplitude 4, frequency 1, horizontal and vertical) D0/30EB: 80 26 01 disable character palette updates D0/30EE: 80 8C 00 play sound effect $00 (pan center) D0/30F1: F7 A0 wait until scanline 160 D0/30F3: AD 06 set bg1 hdma scroll type to 6 D0/30F5: B0 E0 set background color addition to 0 (white) D0/30F7: CD E0 set bg1 animation palette color addition to 0 (white) D0/30F9: AB E0 set bg3 animation palette color addition to 0 (white) D0/30FB: BA E0 set monster color addition to 0 (white) D0/30FD: FC E0 set character color addition to 0 (white) D0/30FF: 89 1F loop start (31 times) D0/3101: AE C4 update (bg1) hdma scroll data (horizontal and vertical) D0/3103: 00 [$00] D0/3104: BD A0 hide bg1 thread D0/3106: B5 81 increase background color addition by 1 (red) D0/3108: 8A loop end D0/3109: 89 0F loop start (15 times) D0/310B: AE C4 update (bg1) hdma scroll data (horizontal and vertical) D0/310D: B5 E2 increase background color addition by 2 (white) D0/310F: CE E2 increase bg1 animation palette color addition by 2 (white) D0/3111: 00 [$00] D0/3112: AE C4 update (bg1) hdma scroll data (horizontal and vertical) D0/3114: B3 E2 increase bg3 animation palette color addition by 2 (white) D0/3116: BB E2 increase monster color addition by 2 (white) D0/3118: FD E2 increase character color addition by 2 (white) D0/311A: 00 [$00] D0/311B: 8A loop end D0/311C: BD 80 show bg1 thread D0/311E: 0F [$0F] D0/311F: BD A0 hide bg1 thread D0/3121: 89 1F loop start (31 times) D0/3123: B5 71 decrease background color addition by 1 (cyan) D0/3125: 0F [$0F] D0/3126: BB F1 decrease monster color addition by 1 (white) D0/3128: FD F1 decrease character color addition by 1 (white) D0/312A: 0F [$0F] D0/312B: 8A loop end D0/312C: 89 1F loop start (31 times) D0/312E: B5 91 decrease background color addition by 1 (red) D0/3130: 0F [$0F] D0/3131: 8A loop end D0/3132: F7 A0 wait until scanline 160 D0/3134: 80 25 clear bg1 hdma scroll data D0/3136: AD 03 set bg1 hdma scroll type to 3 D0/3138: 80 26 00 enable character palette updates D0/313B: FF end of script ; [ Animation Script $01A6: Flare Star (bg3) ] D0/313C: 00 20 speed 1, align to center of character/monster D0/313E: C4 40 move bg3 thread to this thread's position D0/3140: F7 A0 wait until scanline 160 D0/3142: AD 82 set bg3 hdma scroll type to 2 D0/3144: 80 59 48 command $80/$59 D0/3147: 80 50 00 command $80/$50 D0/314A: 00 [$00] D0/314B: BD 50 hide bg3 thread D0/314D: 80 59 40 command $80/$59 D0/3150: 80 50 00 command $80/$50 D0/3153: 00 [$00] D0/3154: 80 59 38 command $80/$59 D0/3157: 80 50 00 command $80/$50 D0/315A: 00 [$00] D0/315B: 80 59 30 command $80/$59 D0/315E: 80 50 00 command $80/$50 D0/3161: 00 [$00] D0/3162: 80 59 28 command $80/$59 D0/3165: 80 50 00 command $80/$50 D0/3168: 00 [$00] D0/3169: 80 59 20 command $80/$59 D0/316C: 80 50 00 command $80/$50 D0/316F: 00 [$00] D0/3170: 80 59 18 command $80/$59 D0/3173: 80 50 00 command $80/$50 D0/3176: 00 [$00] D0/3177: 80 59 10 command $80/$59 D0/317A: 80 50 00 command $80/$50 D0/317D: 00 [$00] D0/317E: 80 59 08 command $80/$59 D0/3181: 80 50 00 command $80/$50 D0/3184: 00 [$00] D0/3185: 80 59 00 command $80/$59 D0/3188: 80 50 00 command $80/$50 D0/318B: 00 [$00] D0/318C: 89 35 loop start (53 times) D0/318E: 80 50 00 command $80/$50 D0/3191: 00 [$00] D0/3192: 8A loop end D0/3193: F7 A0 wait until scanline 160 D0/3195: AD 85 set bg3 hdma scroll type to 5 D0/3197: 80 24 clear bg3 hdma scroll data D0/3199: FF end of script ; [ Animation Script $019F: Quasar (sprite) ] D0/319A: 00 20 speed 1, align to center of character/monster D0/319C: 80 2E 80 4C move to (128,76) D0/31A0: 89 70 loop start (112 times) D0/31A2: 1F [---] D0/31A3: 8A loop end D0/31A4: 84 02 set animation speed to 3 D0/31A6: 8B 1C animated loop start (28 times, increment frame offset each time) D0/31A8: 00 [$00] D0/31A9: 8C animated loop end D0/31AA: FF end of script ; [ Animation Script $01A0: Quasar (bg1) ] D0/31AB: 00 20 speed 1, align to center of character/monster D0/31AD: D1 01 invalidate character/monster sprite priority D0/31AF: C4 80 move bg1 thread to this thread's position D0/31B1: 83 DF move up 32 D0/31B3: 83 DF move up 32 D0/31B5: 80 8C 00 play sound effect $00 (pan center) D0/31B8: F7 A0 wait until scanline 160 D0/31BA: AD 00 set bg1 hdma scroll type to 0 D0/31BC: 80 55 00 command $80/$55 D0/31BF: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/31C1: AA E0 set bg3 animation palette color subtraction to 0 (black) D0/31C3: 89 20 loop start (32 times) D0/31C5: 80 55 01 command $80/$55 D0/31C8: A3 16 44 shift colors (1..7) of bg1 animation palette left (4 loops per shift) D0/31CB: A4 16 34 shift colors (1..7) of bg1 animation/esper palette right (3 loops per shift) D0/31CE: 00 [$00] D0/31CF: BD A0 hide bg1 thread D0/31D1: 8A loop end D0/31D2: AF E0 set background color subtraction to 0 (black) D0/31D4: 89 0F loop start (15 times) D0/31D6: B6 E1 increase background color subtraction by 1 (black) D0/31D8: A3 16 44 shift colors (1..7) of bg1 animation palette left (4 loops per shift) D0/31DB: A4 16 34 shift colors (1..7) of bg1 animation/esper palette right (3 loops per shift) D0/31DE: 00 [$00] D0/31DF: 8A loop end D0/31E0: 89 80 loop start (128 times) D0/31E2: A3 16 44 shift colors (1..7) of bg1 animation palette left (4 loops per shift) D0/31E5: A4 16 34 shift colors (1..7) of bg1 animation/esper palette right (3 loops per shift) D0/31E8: 00 [$00] D0/31E9: 8A loop end D0/31EA: 89 0F loop start (15 times) D0/31EC: CF E2 increase bg1 animation palette color subtraction by 2 (black) D0/31EE: B4 E2 increase bg3 animation palette color subtraction by 2 (black) D0/31F0: A3 16 44 shift colors (1..7) of bg1 animation palette left (4 loops per shift) D0/31F3: A4 16 34 shift colors (1..7) of bg1 animation/esper palette right (3 loops per shift) D0/31F6: 00 [$00] D0/31F7: 8A loop end D0/31F8: 89 0F loop start (15 times) D0/31FA: B6 F1 decrease background color subtraction by 1 (black) D0/31FC: 00 [$00] D0/31FD: 8A loop end D0/31FE: F7 A0 wait until scanline 160 D0/3200: AD 03 set bg1 hdma scroll type to 3 D0/3202: FF end of script ; [ Animation Script $01A1: Quasar (bg3) ] D0/3203: 00 20 speed 1, align to center of character/monster D0/3205: C4 40 move bg3 thread to this thread's position D0/3207: F7 A0 wait until scanline 160 D0/3209: AD 82 set bg3 hdma scroll type to 2 D0/320B: 00 [$00] D0/320C: BD 50 hide bg3 thread D0/320E: 89 E0 loop start (224 times) D0/3210: 80 50 00 command $80/$50 D0/3213: 00 [$00] D0/3214: 8A loop end D0/3215: F7 A0 wait until scanline 160 D0/3217: AD 85 set bg3 hdma scroll type to 5 D0/3219: 80 24 clear bg3 hdma scroll data D0/321B: FF end of script ; [ Animation Script $019D: Net (sprite) ] D0/321C: 20 20 speed 3, align to center of character/monster D0/321E: C9 00 play default sound effect D0/3220: 83 AF move up/forward 16 D0/3222: E9 1F 1F move animation randomly (0..31,0..31) D0/3225: 8B 03 animated loop start (3 times, increment frame offset each time) D0/3227: 00 [$00] D0/3228: 8C animated loop end D0/3229: 89 07 loop start (7 times) D0/322B: 03 [$03] D0/322C: 8A loop end D0/322D: 02 [$02] D0/322E: 01 [$01] D0/322F: 00 [$00] D0/3230: FF end of script ; [ Animation Script $019E: Pearl Wind (bg1) ] D0/3231: 00 20 speed 1, align to center of character/monster D0/3233: D0 20 set tile priority to 2 for all character/monster sprites D0/3235: D1 01 invalidate character/monster sprite priority D0/3237: 80 25 clear bg1 hdma scroll data D0/3239: 80 22 command $80/$22 D0/323B: C9 00 play default sound effect D0/323D: CC FF set bg1 animation palette color subtraction to 31 (black) D0/323F: C4 80 move bg1 thread to this thread's position D0/3241: 80 23 command $80/$23 D0/3243: F7 A0 wait until scanline 160 D0/3245: AD 00 set bg1 hdma scroll type to 0 D0/3247: EA 82 set bg1 tile data quadrant to 2 D0/3249: 00 [$00] D0/324A: 00 [$00] D0/324B: BD A0 hide bg1 thread D0/324D: 89 1F loop start (31 times) D0/324F: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/3251: 80 23 command $80/$23 D0/3253: 00 [$00] D0/3254: 8A loop end D0/3255: 89 60 loop start (96 times) D0/3257: 80 23 command $80/$23 D0/3259: 00 [$00] D0/325A: 8A loop end D0/325B: 89 1F loop start (31 times) D0/325D: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/325F: 80 23 command $80/$23 D0/3261: 00 [$00] D0/3262: 8A loop end D0/3263: BD 80 show bg1 thread D0/3265: EA 82 set bg1 tile data quadrant to 2 D0/3267: 0F [$0F] D0/3268: 0F [$0F] D0/3269: AD 03 set bg1 hdma scroll type to 3 D0/326B: 80 25 clear bg1 hdma scroll data D0/326D: FF end of script ; [ Animation Script $019C: Pep Up (bg1) ] D0/326E: 00 20 speed 1, align to center of character/monster D0/3270: C9 00 play default sound effect D0/3272: BF EA 60 jump to subroutine $60EA D0/3275: FF end of script ; [ Animation Script $019B: R.Polarity (sprite) ] D0/3276: 00 20 speed 1, align to center of character/monster D0/3278: 89 1F loop start (31 times) D0/327A: 1F [---] D0/327B: 8A loop end D0/327C: 89 05 loop start (5 times) D0/327E: 80 53 command $80/$53 D0/3280: 1F [---] D0/3281: 8A loop end D0/3282: 80 54 command $80/$54 D0/3284: FF end of script ; [ Animation Script $019A: R.Polarity (bg1) ] D0/3285: 00 20 speed 1, align to center of character/monster D0/3287: D1 01 invalidate character/monster sprite priority D0/3289: C9 00 play default sound effect D0/328B: B0 FF set background color addition to 31 (white) D0/328D: AC 41 84 set (bg2) hdma scroll data (amplitude 4, frequency 1, vertical) D0/3290: 89 1F loop start (31 times) D0/3292: B5 F1 decrease background color addition by 1 (white) D0/3294: AE 82 update (bg2) hdma scroll data (vertical) D0/3296: 0F [$0F] D0/3297: 8A loop end D0/3298: 89 1F loop start (31 times) D0/329A: AE 82 update (bg2) hdma scroll data (vertical) D0/329C: 0F [$0F] D0/329D: 8A loop end D0/329E: AC 40 80 set (bg2) hdma scroll data (amplitude 0, frequency 0, vertical) D0/32A1: AE 82 update (bg2) hdma scroll data (vertical) D0/32A3: FF end of script ; [ Animation Script $0199: Dischord (sprite) ] D0/32A4: 00 20 speed 1, align to center of character/monster D0/32A6: D1 01 invalidate character/monster sprite priority D0/32A8: AC 81 81 set (bg1) hdma scroll data (amplitude 1, frequency 1, vertical) D0/32AB: F7 A0 wait until scanline 160 D0/32AD: AD 06 set bg1 hdma scroll type to 6 D0/32AF: D4 00 01 00 add fixed color to (bg1) D0/32B3: C9 00 play default sound effect D0/32B5: 80 33 0B update rainbow gradient lines (intensity 4) D0/32B8: BF 00 33 jump to subroutine $3300 D0/32BB: AC 81 83 set (bg1) hdma scroll data (amplitude 3, frequency 1, vertical) D0/32BE: 80 33 07 update rainbow gradient lines (intensity 8) D0/32C1: BF 00 33 jump to subroutine $3300 D0/32C4: AC 81 85 set (bg1) hdma scroll data (amplitude 5, frequency 1, vertical) D0/32C7: 80 33 03 update rainbow gradient lines (intensity 12) D0/32CA: BF 00 33 jump to subroutine $3300 D0/32CD: AC 81 87 set (bg1) hdma scroll data (amplitude 7, frequency 1, vertical) D0/32D0: 89 40 loop start (64 times) D0/32D2: AE 84 update (bg1) hdma scroll data (vertical) D0/32D4: 80 33 00 update rainbow gradient lines (intensity 15) D0/32D7: 1F [---] D0/32D8: 8A loop end D0/32D9: 80 33 03 update rainbow gradient lines (intensity 12) D0/32DC: AC 81 85 set (bg1) hdma scroll data (amplitude 5, frequency 1, vertical) D0/32DF: BF 00 33 jump to subroutine $3300 D0/32E2: 80 33 07 update rainbow gradient lines (intensity 8) D0/32E5: AC 81 83 set (bg1) hdma scroll data (amplitude 3, frequency 1, vertical) D0/32E8: BF 00 33 jump to subroutine $3300 D0/32EB: 80 33 0B update rainbow gradient lines (intensity 4) D0/32EE: AC 81 81 set (bg1) hdma scroll data (amplitude 1, frequency 1, vertical) D0/32F1: BF 00 33 jump to subroutine $3300 D0/32F4: 80 33 0F update rainbow gradient lines (intensity 0) D0/32F7: F7 A0 wait until scanline 160 D0/32F9: 80 25 clear bg1 hdma scroll data D0/32FB: AD 03 set bg1 hdma scroll type to 3 D0/32FD: 80 37 clear fixed color value hdma data D0/32FF: FF end of script D0/3300: 89 07 loop start (7 times) D0/3302: AE 84 update (bg1) hdma scroll data (vertical) D0/3304: 80 33 00 update rainbow gradient lines (intensity 15) D0/3307: 1F [---] D0/3308: 8A loop end D0/3309: C0 return from subroutine ; [ Animation Script $0198: Cyclonic (bg1) ] D0/330A: 00 20 speed 1, align to center of character/monster D0/330C: D1 01 invalidate character/monster sprite priority D0/330E: D0 20 set tile priority to 2 for all character/monster sprites D0/3310: C4 80 move bg1 thread to this thread's position D0/3312: CC FF set bg1 animation palette color subtraction to 31 (black) D0/3314: 00 [$00] D0/3315: BD A0 hide bg1 thread D0/3317: C9 00 play default sound effect D0/3319: 89 1F loop start (31 times) D0/331B: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/331D: A4 17 31 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift) D0/3320: 00 [$00] D0/3321: 8A loop end D0/3322: 89 40 loop start (64 times) D0/3324: A4 17 31 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift) D0/3327: 00 [$00] D0/3328: 8A loop end D0/3329: 89 1F loop start (31 times) D0/332B: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/332D: A4 17 31 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift) D0/3330: 00 [$00] D0/3331: 8A loop end D0/3332: FF end of script ; [ Animation Script $0196: Entwine (sprite) ] D0/3333: 10 20 speed 2, align to center of character/monster D0/3335: D1 01 invalidate character/monster sprite priority D0/3337: C9 00 play default sound effect D0/3339: 82 16 46 change target graphic to 22 (hit) D0/333C: 8B 12 animated loop start (18 times, increment frame offset each time) D0/333E: 87 61 move target forward 2 D0/3340: 00 [$00] D0/3341: 87 81 move target back 2 D0/3343: 00 [$00] D0/3344: 8C animated loop end D0/3345: 82 00 00 change target graphic to 0 (no action) D0/3348: FF end of script ; [ Animation Script $0194: Stone (sprite) ] D0/3349: 00 20 speed 1, align to center of character/monster D0/334B: D1 01 invalidate character/monster sprite priority D0/334D: C9 00 play default sound effect D0/334F: 81 14 14 change attacker graphic to 20 (kneeling) D0/3352: 89 07 loop start (7 times) D0/3354: 1F [---] D0/3355: 8A loop end D0/3356: 81 12 12 change attacker graphic to 18 (walking forward, frame 2) D0/3359: 1F [---] D0/335A: 1F [---] D0/335B: 1F [---] D0/335C: 1F [---] D0/335D: 81 04 04 change attacker graphic to 4 (walking forward, frame 1) D0/3360: 85 move to attacker position D0/3361: 95 calculate vector from attacker to target D0/3362: 80 52 command $80/$52 D0/3364: 00 [$00] D0/3365: 92 04 05 move along vector at speed 4, branch to $3362 D0/3368: 81 00 00 change attacker graphic to 0 (no action) D0/336B: 82 16 46 change target graphic to 22 (hit) D0/336E: C9 94 play sound effect $94 D0/3370: 80 17 update sprite layer priority based on target D0/3372: EC 01 change thread layer to bg1 D0/3374: 84 04 set animation speed to 5 D0/3376: 8B 03 animated loop start (3 times, increment frame offset each time) D0/3378: 00 [$00] D0/3379: 8C animated loop end D0/337A: 82 00 00 change target graphic to 0 (no action) D0/337D: FF end of script ; [ Animation Script $0192: Rippler (sprite) ] D0/337E: 00 00 speed 1, align to bottom of character/monster D0/3380: 89 4F loop start (79 times) D0/3382: 1F [---] D0/3383: 8A loop end D0/3384: 89 04 loop start (4 times) D0/3386: 83 DF move up 32 D0/3388: 8A loop end D0/3389: 80 16 command $80/$16 D0/338B: EB jump based on thread ($3394, $339A, $33A0, $33A6) D0/3394: EF 30 00 move in flattened polar coordinates (48,0) D0/3397: FA A9 33 jump to $33A9 D0/339A: EF 30 40 move in flattened polar coordinates (48,64) D0/339D: FA A9 33 jump to $33A9 D0/33A0: EF 30 80 move in flattened polar coordinates (48,-128) D0/33A3: FA A9 33 jump to $33A9 D0/33A6: EF 30 C0 move in flattened polar coordinates (48,-64) D0/33A9: 89 27 loop start (39 times) D0/33AB: EF 00 08 move in flattened polar coordinates (0,8) D0/33AE: 83 23 move down 4 D0/33B0: 80 21 update sprite layer priority based on polar movement angle D0/33B2: 00 [$00] D0/33B3: 8A loop end D0/33B4: 89 40 loop start (64 times) D0/33B6: EF 00 08 move in flattened polar coordinates (0,8) D0/33B9: 80 21 update sprite layer priority based on polar movement angle D0/33BB: 00 [$00] D0/33BC: 8A loop end D0/33BD: EB jump based on thread ($33C6, $33CE, $33CE, $33CE) D0/33C6: B0 FF set background color addition to 31 (white) D0/33C8: 89 1F loop start (31 times) D0/33CA: B5 F1 decrease background color addition by 1 (white) D0/33CC: 1F [---] D0/33CD: 8A loop end D0/33CE: FF end of script ; [ Animation Script $0193: Rippler (bg1) ] D0/33CF: 00 20 speed 1, align to center of character/monster D0/33D1: D1 01 invalidate character/monster sprite priority D0/33D3: C4 80 move bg1 thread to this thread's position D0/33D5: D0 30 set tile priority to 3 for all character/monster sprites D0/33D7: CC FF set bg1 animation palette color subtraction to 31 (black) D0/33D9: AC 81 C2 set (bg1) hdma scroll data (amplitude 2, frequency 1, horizontal and vertical) D0/33DC: F7 A0 wait until scanline 160 D0/33DE: AD 06 set bg1 hdma scroll type to 6 D0/33E0: C9 00 play default sound effect D0/33E2: 89 0F loop start (15 times) D0/33E4: CF F2 decrease bg1 animation palette color subtraction by 2 (black) D0/33E6: AE C4 update (bg1) hdma scroll data (horizontal and vertical) D0/33E8: A3 16 34 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/33EB: 00 [$00] D0/33EC: BD A0 hide bg1 thread D0/33EE: 8A loop end D0/33EF: 89 20 loop start (32 times) D0/33F1: AE C4 update (bg1) hdma scroll data (horizontal and vertical) D0/33F3: 80 51 01 command $80/$51 D0/33F6: A3 16 34 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/33F9: 00 [$00] D0/33FA: AE C4 update (bg1) hdma scroll data (horizontal and vertical) D0/33FC: 80 51 00 command $80/$51 D0/33FF: A3 16 34 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/3402: 00 [$00] D0/3403: 8A loop end D0/3404: 89 40 loop start (64 times) D0/3406: AE C4 update (bg1) hdma scroll data (horizontal and vertical) D0/3408: A3 16 34 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/340B: 00 [$00] D0/340C: 8A loop end D0/340D: 89 20 loop start (32 times) D0/340F: AE C4 update (bg1) hdma scroll data (horizontal and vertical) D0/3411: 80 51 00 command $80/$51 D0/3414: A3 16 34 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/3417: 00 [$00] D0/3418: AE C4 update (bg1) hdma scroll data (horizontal and vertical) D0/341A: 80 51 01 command $80/$51 D0/341D: A3 16 34 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/3420: 00 [$00] D0/3421: 8A loop end D0/3422: 89 0F loop start (15 times) D0/3424: CF E2 increase bg1 animation palette color subtraction by 2 (black) D0/3426: AE C4 update (bg1) hdma scroll data (horizontal and vertical) D0/3428: A3 16 34 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/342B: 00 [$00] D0/342C: BD A0 hide bg1 thread D0/342E: 8A loop end D0/342F: 80 25 clear bg1 hdma scroll data D0/3431: F7 A0 wait until scanline 160 D0/3433: AD 03 set bg1 hdma scroll type to 3 D0/3435: FF end of script ; [ Animation Script $018C: TekMissile, Launcher, Missile (sprite) ] D0/3436: 00 20 speed 1, align to center of character/monster D0/3438: D1 01 invalidate character/monster sprite priority D0/343A: 83 CF move up 16 D0/343C: BF 25 5F jump to subroutine $5F25 D0/343F: 85 move to attacker position D0/3440: 89 0F loop start (15 times) D0/3442: 83 20 move down 1 D0/3444: 00 [$00] D0/3445: 8A loop end D0/3446: 01 [$01] D0/3447: 02 [$02] D0/3448: 95 calculate vector from attacker to target D0/3449: 98 01 03 increment frame offset every 1 loops (0..3) D0/344C: 02 [$02] D0/344D: 92 08 06 move along vector at speed 8, branch to $3449 D0/3450: 80 4E clear frame offset D0/3452: C9 85 play sound effect $85 D0/3454: 82 16 46 change target graphic to 22 (hit) D0/3457: 89 07 loop start (7 times) D0/3459: 87 62 move target forward 3 D0/345B: 1F [---] D0/345C: 87 82 move target back 3 D0/345E: 1F [---] D0/345F: 8A loop end D0/3460: 82 00 00 change target graphic to 0 (no action) D0/3463: FF end of script ; [ Animation Script $018B: Step Mine (sprite) ] D0/3464: 00 20 speed 1, align to center of character/monster D0/3466: D1 01 invalidate character/monster sprite priority D0/3468: EB jump based on thread ($3475, $3480, $348B, $3496, $349F, $34AA) D0/3475: C9 00 play default sound effect D0/3477: 83 CF move up 16 D0/3479: 89 2F loop start (47 times) D0/347B: 1F [---] D0/347C: 8A loop end D0/347D: FA B2 34 jump to $34B2 D0/3480: 83 C7 move up 8 D0/3482: 83 6F move forward 16 D0/3484: 89 27 loop start (39 times) D0/3486: 1F [---] D0/3487: 8A loop end D0/3488: FA B2 34 jump to $34B2 D0/348B: 83 27 move down 8 D0/348D: 83 6F move forward 16 D0/348F: 89 1F loop start (31 times) D0/3491: 1F [---] D0/3492: 8A loop end D0/3493: FA B2 34 jump to $34B2 D0/3496: 83 2F move down 16 D0/3498: 89 17 loop start (23 times) D0/349A: 1F [---] D0/349B: 8A loop end D0/349C: FA B2 34 jump to $34B2 D0/349F: 83 27 move down 8 D0/34A1: 83 8F move back 16 D0/34A3: 89 0F loop start (15 times) D0/34A5: 1F [---] D0/34A6: 8A loop end D0/34A7: FA B2 34 jump to $34B2 D0/34AA: 83 C7 move up 8 D0/34AC: 83 8F move back 16 D0/34AE: 89 07 loop start (7 times) D0/34B0: 1F [---] D0/34B1: 8A loop end D0/34B2: 89 13 loop start (19 times) D0/34B4: 83 C7 move up 8 D0/34B6: 1F [---] D0/34B7: 8A loop end D0/34B8: 83 93 move back 20 D0/34BA: 83 93 move back 20 D0/34BC: 83 93 move back 20 D0/34BE: 83 93 move back 20 D0/34C0: EB jump based on thread ($34CD, $34F4, $3501, $3510, $351F, $352D) D0/34CD: 83 87 move back 8 D0/34CF: 89 13 loop start (19 times) D0/34D1: 83 27 move down 8 D0/34D3: 83 63 move forward 4 D0/34D5: 00 [$00] D0/34D6: 8A loop end D0/34D7: C9 6B play sound effect $6B D0/34D9: B0 FF set background color addition to 31 (white) D0/34DB: 82 16 46 change target graphic to 22 (hit) D0/34DE: 89 07 loop start (7 times) D0/34E0: B5 F4 decrease background color addition by 4 (white) D0/34E2: 83 27 move down 8 D0/34E4: 83 63 move forward 4 D0/34E6: 00 [$00] D0/34E7: 8A loop end D0/34E8: 82 00 00 change target graphic to 0 (no action) D0/34EB: 89 0B loop start (11 times) D0/34ED: 83 27 move down 8 D0/34EF: 83 63 move forward 4 D0/34F1: 00 [$00] D0/34F2: 8A loop end D0/34F3: FF end of script D0/34F4: 83 9F move back 32 D0/34F6: 83 D7 move up 24 D0/34F8: 89 27 loop start (39 times) D0/34FA: 83 27 move down 8 D0/34FC: 83 63 move forward 4 D0/34FE: 01 [$01] D0/34FF: 8A loop end D0/3500: FF end of script D0/3501: 83 FF move up/back 32 D0/3503: 83 E7 move up/back 8 D0/3505: 83 CF move up 16 D0/3507: 89 27 loop start (39 times) D0/3509: 83 27 move down 8 D0/350B: 83 63 move forward 4 D0/350D: 02 [$02] D0/350E: 8A loop end D0/350F: FF end of script D0/3510: 83 CF move up 16 D0/3512: 83 DF move up 32 D0/3514: 83 FF move up/back 32 D0/3516: 89 27 loop start (39 times) D0/3518: 83 27 move down 8 D0/351A: 83 63 move forward 4 D0/351C: 03 [$03] D0/351D: 8A loop end D0/351E: FF end of script D0/351F: 83 F7 move up/back 24 D0/3521: 83 DF move up 32 D0/3523: 83 DF move up 32 D0/3525: 89 27 loop start (39 times) D0/3527: 83 27 move down 8 D0/3529: 83 63 move forward 4 D0/352B: 04 [$04] D0/352C: 8A loop end D0/352D: FF end of script ; [ Animation Script $0188: Blow Fish (sprite) ] D0/352E: 00 20 speed 1, align to center of character/monster D0/3530: D1 01 invalidate character/monster sprite priority D0/3532: 83 9F move back 32 D0/3534: 83 9F move back 32 D0/3536: 83 9F move back 32 D0/3538: 83 9F move back 32 D0/353A: 83 CF move up 16 D0/353C: EB jump based on thread ($3545, $3564, $3545, $3564) D0/3545: C9 00 play default sound effect D0/3547: E9 00 1F move animation randomly (0..0,0..31) D0/354A: 89 0F loop start (15 times) D0/354C: 83 67 move forward 8 D0/354E: 00 [$00] D0/354F: 8A loop end D0/3550: 82 16 46 change target graphic to 22 (hit) D0/3553: 89 01 loop start (1 times) D0/3555: 87 81 move target back 2 D0/3557: 80 3B change target's color palette to animation palette D0/3559: 00 [$00] D0/355A: 87 61 move target forward 2 D0/355C: 80 3C restore target's color palette D0/355E: 00 [$00] D0/355F: 8A loop end D0/3560: 82 00 00 change target graphic to 0 (no action) D0/3563: FF end of script D0/3564: 82 16 46 change target graphic to 22 (hit) D0/3567: E9 00 1F move animation randomly (0..0,0..31) D0/356A: 89 0F loop start (15 times) D0/356C: 83 67 move forward 8 D0/356E: 01 [$01] D0/356F: 8A loop end D0/3570: 89 01 loop start (1 times) D0/3572: 87 81 move target back 2 D0/3574: 80 3B change target's color palette to animation palette D0/3576: 01 [$01] D0/3577: 87 61 move target forward 2 D0/3579: 80 3C restore target's color palette D0/357B: 01 [$01] D0/357C: 8A loop end D0/357D: 82 00 00 change target graphic to 0 (no action) D0/3580: FF end of script ; [ Animation Script $0190: L.4 Flare (extra) ] D0/3581: 00 20 speed 1, align to center of character/monster D0/3583: D1 01 invalidate character/monster sprite priority D0/3585: AF 60 set background color subtraction to 0 (red) D0/3587: AC 44 44 set (bg2) hdma scroll data (amplitude 4, frequency 4, horizontal) D0/358A: 89 1F loop start (31 times) D0/358C: B6 61 increase background color subtraction by 1 (red) D0/358E: AE 42 update (bg2) hdma scroll data (horizontal) D0/3590: 1F [---] D0/3591: 8A loop end D0/3592: 89 80 loop start (128 times) D0/3594: AE 42 update (bg2) hdma scroll data (horizontal) D0/3596: 1F [---] D0/3597: 8A loop end D0/3598: 89 1F loop start (31 times) D0/359A: B6 71 decrease background color subtraction by 1 (red) D0/359C: AE 42 update (bg2) hdma scroll data (horizontal) D0/359E: 1F [---] D0/359F: 8A loop end D0/35A0: AC 40 40 set (bg2) hdma scroll data (amplitude 0, frequency 0, horizontal) D0/35A3: AE 42 update (bg2) hdma scroll data (horizontal) D0/35A5: FF end of script ; [ Animation Script $0186: L.4 Flare (sprite) ] D0/35A6: 20 20 speed 3, align to center of character/monster D0/35A8: D1 01 invalidate character/monster sprite priority D0/35AA: 89 0A loop start (10 times) D0/35AC: 1F [---] D0/35AD: 8A loop end D0/35AE: C9 00 play default sound effect D0/35B0: 8B 1A animated loop start (26 times, increment frame offset each time) D0/35B2: 00 [$00] D0/35B3: 8C animated loop end D0/35B4: EB jump based on thread ($35B9, $35C4) D0/35B9: C9 85 play sound effect $85 D0/35BB: 80 17 update sprite layer priority based on target D0/35BD: EC 01 change thread layer to bg1 D0/35BF: 8B 0F animated loop start (15 times, increment frame offset each time) D0/35C1: 00 [$00] D0/35C2: 8C animated loop end D0/35C3: FF end of script D0/35C4: 84 01 set animation speed to 2 D0/35C6: 82 16 46 change target graphic to 22 (hit) D0/35C9: 89 0F loop start (15 times) D0/35CB: 80 3B change target's color palette to animation palette D0/35CD: 01 [$01] D0/35CE: 87 61 move target forward 2 D0/35D0: 80 3C restore target's color palette D0/35D2: 01 [$01] D0/35D3: 87 81 move target back 2 D0/35D5: 8A loop end D0/35D6: 82 00 00 change target graphic to 0 (no action) D0/35D9: FF end of script ; [ Animation Script $0185: L.5 Doom (sprite) ] D0/35DA: 80 20 speed 9, align to center of character/monster D0/35DC: D1 01 invalidate character/monster sprite priority D0/35DE: C9 00 play default sound effect D0/35E0: 8B 07 animated loop start (7 times, increment frame offset each time) D0/35E2: 00 [$00] D0/35E3: 8C animated loop end D0/35E4: 00 [$00] D0/35E5: FF end of script D0/35E6: B0 FF set background color addition to 31 (white) D0/35E8: 89 1F loop start (31 times) D0/35EA: AE 42 update (bg2) hdma scroll data (horizontal) D0/35EC: AE 84 update (bg1) hdma scroll data (vertical) D0/35EE: A3 16 42 shift colors (1..7) of bg1 animation palette left (4 loops per shift) D0/35F1: A4 16 32 shift colors (1..7) of bg1 animation/esper palette right (3 loops per shift) D0/35F4: F7 A0 wait until scanline 160 D0/35F6: B5 F4 decrease background color addition by 4 (white) D0/35F8: 04 [$04] D0/35F9: 8A loop end D0/35FA: C0 return from subroutine ; [ Animation Script $017E: Condemned (bg1) ] D0/35FB: 00 20 speed 1, align to center of character/monster D0/35FD: D1 01 invalidate character/monster sprite priority D0/35FF: F7 A0 wait until scanline 160 D0/3601: AD 06 set bg1 hdma scroll type to 6 D0/3603: CD E0 set bg1 animation palette color addition to 0 (white) D0/3605: AC 82 84 set (bg1) hdma scroll data (amplitude 4, frequency 2, vertical) D0/3608: C9 00 play default sound effect D0/360A: 89 40 loop start (64 times) D0/360C: AE 84 update (bg1) hdma scroll data (vertical) D0/360E: 00 [$00] D0/360F: BD A0 hide bg1 thread D0/3611: 8A loop end D0/3612: 89 1F loop start (31 times) D0/3614: AE 84 update (bg1) hdma scroll data (vertical) D0/3616: CE E1 increase bg1 animation palette color addition by 1 (white) D0/3618: 00 [$00] D0/3619: BD A0 hide bg1 thread D0/361B: 8A loop end D0/361C: F7 A0 wait until scanline 160 D0/361E: 80 25 clear bg1 hdma scroll data D0/3620: AD 03 set bg1 hdma scroll type to 3 D0/3622: FF end of script ; [ Animation Script $017F: Condemned (bg3) ] D0/3623: 00 20 speed 1, align to center of character/monster D0/3625: 00 [$00] D0/3626: BD 50 hide bg3 thread D0/3628: 89 60 loop start (96 times) D0/362A: 00 [$00] D0/362B: 8A loop end D0/362C: FF end of script ; [ Animation Script $017D: Blaster (sprite) ] D0/362D: 00 20 speed 1, align to center of character/monster D0/362F: D1 01 invalidate character/monster sprite priority D0/3631: 85 move to attacker position D0/3632: 95 calculate vector from attacker to target D0/3633: EB jump based on thread ($363C, $364D, $3656, $365F) D0/363C: C9 00 play default sound effect D0/363E: 03 [$03] D0/363F: C1 08 03 command $C1 D0/3642: 82 16 46 change target graphic to 22 (hit) D0/3645: 03 [$03] D0/3646: C1 08 03 command $C1 D0/3649: 82 00 00 change target graphic to 0 (no action) D0/364C: FF end of script D0/364D: 02 [$02] D0/364E: C1 08 03 command $C1 D0/3651: 02 [$02] D0/3652: C1 08 03 command $C1 D0/3655: FF end of script D0/3656: 01 [$01] D0/3657: C1 08 03 command $C1 D0/365A: 01 [$01] D0/365B: C1 08 03 command $C1 D0/365E: FF end of script D0/365F: 00 [$00] D0/3660: C1 08 03 command $C1 D0/3663: 00 [$00] D0/3664: C1 08 03 command $C1 D0/3667: FF end of script ; [ Animation Script $017A: Delta Hit (sprite) ] D0/3668: 00 20 speed 1, align to center of character/monster D0/366A: 80 2E 50 60 move to (80,96) D0/366E: 80 12 init polar movement D0/3670: EB jump based on thread ($3677, $367F, $3685) D0/3677: C9 00 play default sound effect D0/3679: E8 70 80 move in polar coordinates (112,-128) D0/367C: FA 88 36 jump to $3688 D0/367F: E8 70 D5 move in polar coordinates (112,-43) D0/3682: FA 88 36 jump to $3688 D0/3685: E8 70 2A move in polar coordinates (112,42) D0/3688: 84 04 set animation speed to 5 D0/368A: 8B 03 animated loop start (3 times, increment frame offset each time) D0/368C: E8 00 00 move in polar coordinates (0,0) D0/368F: 00 [$00] D0/3690: 8C animated loop end D0/3691: 84 01 set animation speed to 2 D0/3693: 89 50 loop start (80 times) D0/3695: E8 00 00 move in polar coordinates (0,0) D0/3698: 04 [$04] D0/3699: 8A loop end D0/369A: 84 04 set animation speed to 5 D0/369C: E8 00 00 move in polar coordinates (0,0) D0/369F: 03 [$03] D0/36A0: E8 00 00 move in polar coordinates (0,0) D0/36A3: 02 [$02] D0/36A4: E8 00 00 move in polar coordinates (0,0) D0/36A7: 01 [$01] D0/36A8: E8 00 00 move in polar coordinates (0,0) D0/36AB: 00 [$00] D0/36AC: FF end of script ; [ Animation Script $017B: Delta Hit (bg1) ] D0/36AD: 00 20 speed 1, align to center of character/monster D0/36AF: D0 20 set tile priority to 2 for all character/monster sprites D0/36B1: D1 01 invalidate character/monster sprite priority D0/36B3: DD 00 00 70 80 init triangle with diameter 112, upside down D0/36B8: 80 2E 50 60 move to (80,96) D0/36BC: 80 4C move triangle to this thread's position D0/36BE: 80 4D set vector from triangle to target D0/36C0: CC FF set bg1 animation palette color subtraction to 31 (black) D0/36C2: 00 [$00] D0/36C3: BD A0 hide bg1 thread D0/36C5: 89 0F loop start (15 times) D0/36C7: 00 [$00] D0/36C8: 8A loop end D0/36C9: 89 1F loop start (31 times) D0/36CB: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/36CD: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/36D0: DC update triangle 2d D0/36D1: 00 [$00] D0/36D2: 8A loop end D0/36D3: 80 4C move triangle to this thread's position D0/36D5: E0 00 00 00 06 move triangle (+0,+0), rotate +6 units D0/36DA: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/36DD: DC update triangle 2d D0/36DE: 00 [$00] D0/36DF: 92 02 0E move along vector at speed 2, branch to $36D3 D0/36E2: 89 1A loop start (26 times) D0/36E4: E0 00 00 FC 06 move triangle (+0,+0) and change diameter by -4, rotate +6 units D0/36E9: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/36EC: DC update triangle 2d D0/36ED: 00 [$00] D0/36EE: 8A loop end D0/36EF: FF end of script ; [ Animation Script $0179: Slimer (bg1) ] D0/36F0: 00 20 speed 1, align to center of character/monster D0/36F2: D1 01 invalidate character/monster sprite priority D0/36F4: A5 00 00 10 FF FF 20 00 init circle at (0,0) D0/36FC: C3 move circle to target D0/36FD: CC FF set bg1 animation palette color subtraction to 31 (black) D0/36FF: C9 00 play default sound effect D0/3701: 89 1F loop start (31 times) D0/3703: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/3706: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/3708: F7 D8 wait until scanline 216 D0/370A: A7 update circle D0/370B: 00 [$00] D0/370C: 8A loop end D0/370D: 89 0F loop start (15 times) D0/370F: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/3712: F7 D8 wait until scanline 216 D0/3714: A7 update circle D0/3715: 00 [$00] D0/3716: 8A loop end D0/3717: 89 1F loop start (31 times) D0/3719: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/371C: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/371E: F7 D8 wait until scanline 216 D0/3720: A7 update circle D0/3721: 00 [$00] D0/3722: 8A loop end D0/3723: FF end of script ; [ Animation Script $017C: Run (sprite) ] D0/3724: 00 20 speed 1, align to center of character/monster D0/3726: C9 00 play default sound effect D0/3728: F8 42 37 2D 37 jump to $3742 ($372D if magitek) D0/372D: F9 01 00 00 set attacker magitek armor action to 1 (walking) D0/3731: C8 03 change attacker action to 3 (walking back) D0/3733: 89 8A loop start (138 times) D0/3735: 83 80 move back 1 D0/3737: 86 80 move attacker back 1 D0/3739: 1F [---] D0/373A: 8A loop end D0/373B: C8 00 change attacker action to 0 (no action) D0/373D: F9 00 00 00 set attacker magitek armor action to 0 (standing still) D0/3741: FF end of script D0/3742: C8 03 change attacker action to 3 (walking back) D0/3744: 89 2A loop start (42 times) D0/3746: 83 82 move back 3 D0/3748: 86 82 move attacker back 3 D0/374A: 1F [---] D0/374B: 8A loop end D0/374C: C8 00 change attacker action to 0 (no action) D0/374E: FF end of script ; [ Animation Script $0178: Megazerk (bg1) ] D0/374F: 00 20 speed 1, align to center of character/monster D0/3751: BD A0 hide bg1 thread D0/3753: D1 01 invalidate character/monster sprite priority D0/3755: C9 00 play default sound effect D0/3757: B0 80 set background color addition to 0 (red) D0/3759: F7 A0 wait until scanline 160 D0/375B: D4 02 10 00 add (no layers) to (sprites) D0/375F: 89 08 loop start (8 times) D0/3761: B5 82 increase background color addition by 2 (red) D0/3763: 0F [$0F] D0/3764: 8A loop end D0/3765: 80 4B 0F update yellow/red gradient lines (intensity 0) D0/3768: 0F [$0F] D0/3769: 80 4B 0D update yellow/red gradient lines (intensity 2) D0/376C: 0F [$0F] D0/376D: 80 4B 0B update yellow/red gradient lines (intensity 4) D0/3770: 0F [$0F] D0/3771: 80 4B 09 update yellow/red gradient lines (intensity 6) D0/3774: 0F [$0F] D0/3775: 80 4B 07 update yellow/red gradient lines (intensity 8) D0/3778: 0F [$0F] D0/3779: 80 4B 05 update yellow/red gradient lines (intensity 10) D0/377C: 0F [$0F] D0/377D: 80 4B 03 update yellow/red gradient lines (intensity 12) D0/3780: 0F [$0F] D0/3781: 80 4B 01 update yellow/red gradient lines (intensity 14) D0/3784: 0F [$0F] D0/3785: 89 60 loop start (96 times) D0/3787: 80 4B 00 update yellow/red gradient lines (intensity 15) D0/378A: 0F [$0F] D0/378B: 8A loop end D0/378C: 80 4B 01 update yellow/red gradient lines (intensity 14) D0/378F: B5 92 decrease background color addition by 2 (red) D0/3791: 0F [$0F] D0/3792: 80 4B 03 update yellow/red gradient lines (intensity 12) D0/3795: B5 92 decrease background color addition by 2 (red) D0/3797: 0F [$0F] D0/3798: 80 4B 05 update yellow/red gradient lines (intensity 10) D0/379B: B5 92 decrease background color addition by 2 (red) D0/379D: 0F [$0F] D0/379E: 80 4B 07 update yellow/red gradient lines (intensity 8) D0/37A1: B5 92 decrease background color addition by 2 (red) D0/37A3: 0F [$0F] D0/37A4: 80 4B 09 update yellow/red gradient lines (intensity 6) D0/37A7: B5 92 decrease background color addition by 2 (red) D0/37A9: 0F [$0F] D0/37AA: 80 4B 0B update yellow/red gradient lines (intensity 4) D0/37AD: B5 92 decrease background color addition by 2 (red) D0/37AF: 0F [$0F] D0/37B0: 80 4B 0D update yellow/red gradient lines (intensity 2) D0/37B3: B5 92 decrease background color addition by 2 (red) D0/37B5: 0F [$0F] D0/37B6: 80 4B 0F update yellow/red gradient lines (intensity 0) D0/37B9: B5 92 decrease background color addition by 2 (red) D0/37BB: 0F [$0F] D0/37BC: 80 37 clear fixed color value hdma data D0/37BE: 89 08 loop start (8 times) D0/37C0: B5 92 decrease background color addition by 2 (red) D0/37C2: 0F [$0F] D0/37C3: 8A loop end D0/37C4: FF end of script ; [ Animation Script $0177: Lullaby (sprite) ] D0/37C5: 10 20 speed 2, align to center of character/monster D0/37C7: 89 01 loop start (1 times) D0/37C9: 87 81 move target back 2 D0/37CB: 1F [---] D0/37CC: 87 81 move target back 2 D0/37CE: 1F [---] D0/37CF: 87 80 move target back 1 D0/37D1: 1F [---] D0/37D2: 87 80 move target back 1 D0/37D4: 1F [---] D0/37D5: 1F [---] D0/37D6: 1F [---] D0/37D7: 1F [---] D0/37D8: 1F [---] D0/37D9: 87 60 move target forward 1 D0/37DB: 1F [---] D0/37DC: 87 60 move target forward 1 D0/37DE: 1F [---] D0/37DF: 87 61 move target forward 2 D0/37E1: 1F [---] D0/37E2: 87 61 move target forward 2 D0/37E4: 1F [---] D0/37E5: 87 61 move target forward 2 D0/37E7: 1F [---] D0/37E8: 87 61 move target forward 2 D0/37EA: 1F [---] D0/37EB: 87 60 move target forward 1 D0/37ED: 1F [---] D0/37EE: 87 60 move target forward 1 D0/37F0: 1F [---] D0/37F1: 1F [---] D0/37F2: 1F [---] D0/37F3: 1F [---] D0/37F4: 1F [---] D0/37F5: 87 80 move target back 1 D0/37F7: 1F [---] D0/37F8: 87 80 move target back 1 D0/37FA: 1F [---] D0/37FB: 87 81 move target back 2 D0/37FD: 1F [---] D0/37FE: 87 81 move target back 2 D0/3800: 1F [---] D0/3801: 8A loop end D0/3802: FF end of script ; [ Animation Script $0176: Schiller (sprite) ] D0/3803: 00 20 speed 1, align to center of character/monster D0/3805: D1 01 invalidate character/monster sprite priority D0/3807: C9 00 play default sound effect D0/3809: BF 19 38 jump to subroutine $3819 D0/380C: BF 19 38 jump to subroutine $3819 D0/380F: BF 19 38 jump to subroutine $3819 D0/3812: BF 19 38 jump to subroutine $3819 D0/3815: BF 19 38 jump to subroutine $3819 D0/3818: FF end of script D0/3819: B0 FF set background color addition to 31 (white) D0/381B: 89 07 loop start (7 times) D0/381D: B5 F4 decrease background color addition by 4 (white) D0/381F: 1F [---] D0/3820: 8A loop end D0/3821: C0 return from subroutine ; [ Animation Script $0174: Virite (sprite) ] D0/3822: 20 20 speed 3, align to center of character/monster D0/3824: 80 49 command $80/$49 D0/3826: 83 CF move up 16 D0/3828: 83 8F move back 16 D0/382A: E9 07 1F move animation randomly (0..7,0..31) D0/382D: C9 00 play default sound effect D0/382F: 8B 05 animated loop start (5 times, increment frame offset each time) D0/3831: 00 [$00] D0/3832: 8C animated loop end D0/3833: FF end of script ; [ Animation Script $0173: Clear (bg3) ] D0/3834: 00 A0 speed 1, align to center of screen D0/3836: D1 01 invalidate character/monster sprite priority D0/3838: C4 40 move bg3 thread to this thread's position D0/383A: AA FF set bg3 animation palette color subtraction to 31 (black) D0/383C: EA 41 set bg3 tile data quadrant to 1 D0/383E: F7 A0 wait until scanline 160 D0/3840: AD 87 set bg3 hdma scroll type to 7 D0/3842: 00 [$00] D0/3843: 00 [$00] D0/3844: BD 50 hide bg3 thread D0/3846: AC 21 44 set (bg3) hdma scroll data (amplitude 4, frequency 1, horizontal) D0/3849: AC 22 82 set (bg3) hdma scroll data (amplitude 2, frequency 2, vertical) D0/384C: C9 00 play default sound effect D0/384E: 89 1F loop start (31 times) D0/3850: B4 F1 decrease bg3 animation palette color subtraction by 1 (black) D0/3852: AE C1 update (bg3) hdma scroll data (horizontal and vertical) D0/3854: 83 60 move forward 1 D0/3856: 00 [$00] D0/3857: 8A loop end D0/3858: CD E0 set bg1 animation palette color addition to 0 (white) D0/385A: 89 1F loop start (31 times) D0/385C: CE E1 increase bg1 animation palette color addition by 1 (white) D0/385E: AE C1 update (bg3) hdma scroll data (horizontal and vertical) D0/3860: 83 60 move forward 1 D0/3862: 00 [$00] D0/3863: 8A loop end D0/3864: F7 A0 wait until scanline 160 D0/3866: D4 02 05 12 add (sprites, bg2) to (bg3, bg1) D0/386A: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/386C: 89 1F loop start (31 times) D0/386E: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/3870: AE C1 update (bg3) hdma scroll data (horizontal and vertical) D0/3872: 83 60 move forward 1 D0/3874: 00 [$00] D0/3875: 8A loop end D0/3876: 80 3E 1E enable (sprites, bg4, bg3, bg2) in main screen D0/3879: 89 1F loop start (31 times) D0/387B: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/387D: AE C1 update (bg3) hdma scroll data (horizontal and vertical) D0/387F: 83 60 move forward 1 D0/3881: 00 [$00] D0/3882: 8A loop end D0/3883: 80 24 clear bg3 hdma scroll data D0/3885: BD 40 show bg3 thread D0/3887: EA 41 set bg3 tile data quadrant to 1 D0/3889: 09 [$09] D0/388A: F7 A0 wait until scanline 160 D0/388C: AD 85 set bg3 hdma scroll type to 5 D0/388E: 80 48 command $80/$48 D0/3890: FF end of script ; [ Animation Script $0171: Imp Song (sprite) ] D0/3891: 30 00 speed 4, align to bottom of character/monster D0/3893: 90 30 set animation tile priority to 3 D0/3895: 89 07 loop start (7 times) D0/3897: 1F [---] D0/3898: 8A loop end D0/3899: 83 6F move forward 16 D0/389B: E9 1F 00 move animation randomly (0..31,0..0) D0/389E: 8B 0D animated loop start (13 times, increment frame offset each time) D0/38A0: 00 [$00] D0/38A1: 8C animated loop end D0/38A2: FF end of script ; [ Animation Script $0172: Imp Song, Lullaby (bg1) ] D0/38A3: 00 A0 speed 1, align to center of screen D0/38A5: D1 01 invalidate character/monster sprite priority D0/38A7: D0 20 set tile priority to 2 for all character/monster sprites D0/38A9: C4 80 move bg1 thread to this thread's position D0/38AB: EA 81 set bg1 tile data quadrant to 1 D0/38AD: C9 00 play default sound effect D0/38AF: F7 A0 wait until scanline 160 D0/38B1: AD 06 set bg1 hdma scroll type to 6 D0/38B3: D4 00 01 00 add fixed color to (bg1) D0/38B7: 00 [$00] D0/38B8: 00 [$00] D0/38B9: BD A0 hide bg1 thread D0/38BB: AC 81 44 set (bg1) hdma scroll data (amplitude 4, frequency 1, horizontal) D0/38BE: AC 82 82 set (bg1) hdma scroll data (amplitude 2, frequency 2, vertical) D0/38C1: 89 1F loop start (31 times) D0/38C3: AE C4 update (bg1) hdma scroll data (horizontal and vertical) D0/38C5: 83 60 move forward 1 D0/38C7: 80 33 00 update rainbow gradient lines (intensity 15) D0/38CA: 00 [$00] D0/38CB: 8A loop end D0/38CC: 89 40 loop start (64 times) D0/38CE: AE C4 update (bg1) hdma scroll data (horizontal and vertical) D0/38D0: 83 60 move forward 1 D0/38D2: 80 33 00 update rainbow gradient lines (intensity 15) D0/38D5: 00 [$00] D0/38D6: 8A loop end D0/38D7: 89 1F loop start (31 times) D0/38D9: AE C4 update (bg1) hdma scroll data (horizontal and vertical) D0/38DB: 83 60 move forward 1 D0/38DD: 80 33 00 update rainbow gradient lines (intensity 15) D0/38E0: 00 [$00] D0/38E1: 8A loop end D0/38E2: 80 25 clear bg1 hdma scroll data D0/38E4: BD 80 show bg1 thread D0/38E6: EA 81 set bg1 tile data quadrant to 1 D0/38E8: 0F [$0F] D0/38E9: F7 A0 wait until scanline 160 D0/38EB: AD 03 set bg1 hdma scroll type to 3 D0/38ED: 80 37 clear fixed color value hdma data D0/38EF: FF end of script ; [ Animation Script $0170: Dread (sprite) ] D0/38F0: 40 20 speed 5, align to center of character/monster D0/38F2: D1 01 invalidate character/monster sprite priority D0/38F4: 83 AF move up/forward 16 D0/38F6: C9 00 play default sound effect D0/38F8: E9 1F 1F move animation randomly (0..31,0..31) D0/38FB: 00 [$00] D0/38FC: 01 [$01] D0/38FD: 02 [$02] D0/38FE: 03 [$03] D0/38FF: 04 [$04] D0/3900: 89 10 loop start (16 times) D0/3902: 05 [$05] D0/3903: 8A loop end D0/3904: 83 4F move down/back 16 D0/3906: E9 00 00 move animation randomly (0..0,0..0) D0/3909: 84 01 set animation speed to 2 D0/390B: C9 0B play sound effect $0B D0/390D: EB jump based on thread ($391A, $3927, $3934, $3941, $3950, $3950) D0/391A: 8B 04 animated loop start (4 times, increment frame offset each time) D0/391C: 83 03 move down/forward 4 D0/391E: 06 [$06] D0/391F: 83 03 move down/forward 4 D0/3921: 06 [$06] D0/3922: 83 03 move down/forward 4 D0/3924: 06 [$06] D0/3925: 8C animated loop end D0/3926: FF end of script D0/3927: 8B 04 animated loop start (4 times, increment frame offset each time) D0/3929: 83 43 move down/back 4 D0/392B: 06 [$06] D0/392C: 83 43 move down/back 4 D0/392E: 06 [$06] D0/392F: 83 43 move down/back 4 D0/3931: 06 [$06] D0/3932: 8C animated loop end D0/3933: FF end of script D0/3934: 8B 04 animated loop start (4 times, increment frame offset each time) D0/3936: 83 A3 move up/forward 4 D0/3938: 06 [$06] D0/3939: 83 A3 move up/forward 4 D0/393B: 06 [$06] D0/393C: 83 A3 move up/forward 4 D0/393E: 06 [$06] D0/393F: 8C animated loop end D0/3940: FF end of script D0/3941: 8B 04 animated loop start (4 times, increment frame offset each time) D0/3943: 83 E3 move up/back 4 D0/3945: 06 [$06] D0/3946: 83 E3 move up/back 4 D0/3948: 06 [$06] D0/3949: 83 E3 move up/back 4 D0/394B: 06 [$06] D0/394C: 8C animated loop end D0/394D: C9 FF play sound effect $FF D0/394F: FF end of script D0/3950: FF end of script ; [ Animation Script $016F: Escape (sprite) ] D0/3951: 00 20 speed 1, align to center of character/monster D0/3953: D1 01 invalidate character/monster sprite priority D0/3955: C9 00 play default sound effect D0/3957: F7 A0 wait until scanline 160 D0/3959: D4 02 01 12 add (sprites, bg2) to (bg1) D0/395D: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/395F: 89 1F loop start (31 times) D0/3961: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/3963: 1F [---] D0/3964: 8A loop end D0/3965: 80 3E 16 enable (sprites, bg3, bg2) in main screen D0/3968: F1 80 hide target monster sprite D0/396A: FF end of script ; [ Animation Script $016E: WallChange (sprite) ] D0/396B: 00 20 speed 1, align to center of character/monster D0/396D: D1 01 invalidate character/monster sprite priority D0/396F: C9 00 play default sound effect D0/3971: F7 A0 wait until scanline 160 D0/3973: D4 02 01 00 add (no layers) to (bg1) D0/3977: 80 33 0F update rainbow gradient lines (intensity 0) D0/397A: 1F [---] D0/397B: 80 33 0D update rainbow gradient lines (intensity 2) D0/397E: 1F [---] D0/397F: 80 33 0B update rainbow gradient lines (intensity 4) D0/3982: 1F [---] D0/3983: 80 33 09 update rainbow gradient lines (intensity 6) D0/3986: 1F [---] D0/3987: 80 33 07 update rainbow gradient lines (intensity 8) D0/398A: 1F [---] D0/398B: 80 33 05 update rainbow gradient lines (intensity 10) D0/398E: 1F [---] D0/398F: 80 33 03 update rainbow gradient lines (intensity 12) D0/3992: 1F [---] D0/3993: 80 33 01 update rainbow gradient lines (intensity 14) D0/3996: 1F [---] D0/3997: 89 60 loop start (96 times) D0/3999: 80 33 00 update rainbow gradient lines (intensity 15) D0/399C: 1F [---] D0/399D: 8A loop end D0/399E: B0 FF set background color addition to 31 (white) D0/39A0: 80 33 01 update rainbow gradient lines (intensity 14) D0/39A3: B5 F2 decrease background color addition by 2 (white) D0/39A5: 1F [---] D0/39A6: 80 33 03 update rainbow gradient lines (intensity 12) D0/39A9: B5 F2 decrease background color addition by 2 (white) D0/39AB: 1F [---] D0/39AC: 80 33 05 update rainbow gradient lines (intensity 10) D0/39AF: B5 F2 decrease background color addition by 2 (white) D0/39B1: 1F [---] D0/39B2: 80 33 07 update rainbow gradient lines (intensity 8) D0/39B5: B5 F2 decrease background color addition by 2 (white) D0/39B7: 1F [---] D0/39B8: 80 33 09 update rainbow gradient lines (intensity 6) D0/39BB: B5 F2 decrease background color addition by 2 (white) D0/39BD: 1F [---] D0/39BE: 80 33 0B update rainbow gradient lines (intensity 4) D0/39C1: B5 F2 decrease background color addition by 2 (white) D0/39C3: 1F [---] D0/39C4: 80 33 0D update rainbow gradient lines (intensity 2) D0/39C7: B5 F2 decrease background color addition by 2 (white) D0/39C9: 1F [---] D0/39CA: 80 33 0F update rainbow gradient lines (intensity 0) D0/39CD: B5 F2 decrease background color addition by 2 (white) D0/39CF: 1F [---] D0/39D0: C9 9F play sound effect $9F D0/39D2: 89 07 loop start (7 times) D0/39D4: B5 F2 decrease background color addition by 2 (white) D0/39D6: 1F [---] D0/39D7: 8A loop end D0/39D8: 80 37 clear fixed color value hdma data D0/39DA: FF end of script ; [ Animation Script $016C: Acid Rain, Flash Rain (bg1) ] D0/39DB: 00 A0 speed 1, align to center of screen D0/39DD: D1 01 invalidate character/monster sprite priority D0/39DF: D0 20 set tile priority to 2 for all character/monster sprites D0/39E1: C4 80 move bg1 thread to this thread's position D0/39E3: CC FF set bg1 animation palette color subtraction to 31 (black) D0/39E5: AA FF set bg3 animation palette color subtraction to 31 (black) D0/39E7: 00 [$00] D0/39E8: 80 8C 00 play sound effect $00 (pan center) D0/39EB: BD A0 hide bg1 thread D0/39ED: 89 1F loop start (31 times) D0/39EF: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/39F1: B4 F1 decrease bg3 animation palette color subtraction by 1 (black) D0/39F3: A4 16 32 shift colors (1..7) of bg1 animation/esper palette right (3 loops per shift) D0/39F6: 00 [$00] D0/39F7: 8A loop end D0/39F8: 89 40 loop start (64 times) D0/39FA: A4 16 32 shift colors (1..7) of bg1 animation/esper palette right (3 loops per shift) D0/39FD: 00 [$00] D0/39FE: 8A loop end D0/39FF: 89 1F loop start (31 times) D0/3A01: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/3A03: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/3A05: A4 16 32 shift colors (1..7) of bg1 animation/esper palette right (3 loops per shift) D0/3A08: 00 [$00] D0/3A09: 8A loop end D0/3A0A: FF end of script ; [ Animation Script $016D: Flash Rain (bg3) ] D0/3A0B: 30 20 speed 4, align to center of character/monster D0/3A0D: C4 40 move bg3 thread to this thread's position D0/3A0F: 89 08 loop start (8 times) D0/3A11: 00 [$00] D0/3A12: 01 [$01] D0/3A13: 02 [$02] D0/3A14: 03 [$03] D0/3A15: 8A loop end D0/3A16: FF end of script ; [ Animation Script $016A: Blizzard (sprite) ] D0/3A17: 10 20 speed 2, align to center of character/monster D0/3A19: C9 58 play sound effect $58 D0/3A1B: 8B 06 animated loop start (6 times, increment frame offset each time) D0/3A1D: 80 3B change target's color palette to animation palette D0/3A1F: 00 [$00] D0/3A20: 80 3C restore target's color palette D0/3A22: 00 [$00] D0/3A23: 8C animated loop end D0/3A24: 8B 0E animated loop start (14 times, increment frame offset each time) D0/3A26: 00 [$00] D0/3A27: 00 [$00] D0/3A28: 8C animated loop end D0/3A29: FF end of script ; [ Animation Script $016B: Blizzard (bg1) ] D0/3A2A: 00 A0 speed 1, align to center of screen D0/3A2C: D1 01 invalidate character/monster sprite priority D0/3A2E: D0 20 set tile priority to 2 for all character/monster sprites D0/3A30: C4 80 move bg1 thread to this thread's position D0/3A32: CC FF set bg1 animation palette color subtraction to 31 (black) D0/3A34: 00 [$00] D0/3A35: BD A0 hide bg1 thread D0/3A37: C9 00 play default sound effect D0/3A39: 89 1F loop start (31 times) D0/3A3B: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/3A3D: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/3A40: 00 [$00] D0/3A41: 8A loop end D0/3A42: 89 40 loop start (64 times) D0/3A44: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/3A47: 00 [$00] D0/3A48: 8A loop end D0/3A49: 89 1F loop start (31 times) D0/3A4B: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/3A4D: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/3A50: 00 [$00] D0/3A51: 8A loop end D0/3A52: FF end of script ; [ Animation Script $0167: Diffuser (sprite) ] D0/3A53: 30 A0 speed 4, align to center of screen D0/3A55: D1 01 invalidate character/monster sprite priority D0/3A57: 80 2D 5F 3A 66 3A 6A 3A jump to $3A5F (normal attack), $3A66 (back attack), or $3A6A (pincer attack) D0/3A5F: 80 2E C0 50 move to (192,80) D0/3A63: FA 6A 3A jump to $3A6A D0/3A66: 80 2E 40 50 move to (64,80) D0/3A6A: 83 47 move down/back 8 D0/3A6C: 00 [$00] D0/3A6D: 01 [$01] D0/3A6E: 02 [$02] D0/3A6F: 03 [$03] D0/3A70: 89 1E loop start (30 times) D0/3A72: 03 [$03] D0/3A73: 8A loop end D0/3A74: 03 [$03] D0/3A75: 02 [$02] D0/3A76: 01 [$01] D0/3A77: 00 [$00] D0/3A78: FF end of script ; [ Animation Script $0168: Diffuser (bg1) ] D0/3A79: 00 A0 speed 1, align to center of screen D0/3A7B: C4 80 move bg1 thread to this thread's position D0/3A7D: C9 00 play default sound effect D0/3A7F: 80 2D 87 3A 8E 3A 92 3A jump to $3A87 (normal attack), $3A8E (back attack), or $3A92 (pincer attack) D0/3A87: 80 2E C0 50 move to (192,80) D0/3A8B: FA 92 3A jump to $3A92 D0/3A8E: 80 2E 40 50 move to (64,80) D0/3A92: CC FF set bg1 animation palette color subtraction to 31 (black) D0/3A94: AA FF set bg3 animation palette color subtraction to 31 (black) D0/3A96: 89 0F loop start (15 times) D0/3A98: CF F2 decrease bg1 animation palette color subtraction by 2 (black) D0/3A9A: B4 F2 decrease bg3 animation palette color subtraction by 2 (black) D0/3A9C: 00 [$00] D0/3A9D: BD A0 hide bg1 thread D0/3A9F: 8A loop end D0/3AA0: BD 80 show bg1 thread D0/3AA2: 84 04 set animation speed to 5 D0/3AA4: 8B 0B animated loop start (11 times, increment frame offset each time) D0/3AA6: 00 [$00] D0/3AA7: 8C animated loop end D0/3AA8: 8B 0B animated loop start (11 times, increment frame offset each time) D0/3AAA: 00 [$00] D0/3AAB: 8C animated loop end D0/3AAC: 84 01 set animation speed to 2 D0/3AAE: 89 0F loop start (15 times) D0/3AB0: CF E2 increase bg1 animation palette color subtraction by 2 (black) D0/3AB2: B4 E2 increase bg3 animation palette color subtraction by 2 (black) D0/3AB4: 0B [$0B] D0/3AB5: BD A0 hide bg1 thread D0/3AB7: 8A loop end D0/3AB8: FF end of script ; [ Animation Script $0169: ] D0/3AB9: 00 A0 speed 1, align to center of screen D0/3ABB: C4 40 move bg3 thread to this thread's position D0/3ABD: 80 2D C5 3A CC 3A D0 3A jump to $3AC5 (normal attack), $3ACC (back attack), or $3AD0 (pincer attack) D0/3AC5: 80 2E C0 50 move to (192,80) D0/3AC9: FA D0 3A jump to $3AD0 D0/3ACC: 80 2E 40 50 move to (64,80) D0/3AD0: 89 0F loop start (15 times) D0/3AD2: 00 [$00] D0/3AD3: BD 50 hide bg3 thread D0/3AD5: 8A loop end D0/3AD6: BD 40 show bg3 thread D0/3AD8: BF E8 3A jump to subroutine $3AE8 D0/3ADB: BF E8 3A jump to subroutine $3AE8 D0/3ADE: 89 05 loop start (5 times) D0/3AE0: 00 [$00] D0/3AE1: 00 [$00] D0/3AE2: 01 [$01] D0/3AE3: 01 [$01] D0/3AE4: 02 [$02] D0/3AE5: 02 [$02] D0/3AE6: 8A loop end D0/3AE7: FF end of script D0/3AE8: 89 03 loop start (3 times) D0/3AEA: B0 EF set background color addition to 15 (white) D0/3AEC: 00 [$00] D0/3AED: B5 F2 decrease background color addition by 2 (white) D0/3AEF: 00 [$00] D0/3AF0: B5 F2 decrease background color addition by 2 (white) D0/3AF2: 01 [$01] D0/3AF3: B5 F2 decrease background color addition by 2 (white) D0/3AF5: 01 [$01] D0/3AF6: B5 F2 decrease background color addition by 2 (white) D0/3AF8: 02 [$02] D0/3AF9: B5 F2 decrease background color addition by 2 (white) D0/3AFB: 02 [$02] D0/3AFC: B5 F2 decrease background color addition by 2 (white) D0/3AFE: 00 [$00] D0/3AFF: B5 F2 decrease background color addition by 2 (white) D0/3B01: 00 [$00] D0/3B02: B5 F2 decrease background color addition by 2 (white) D0/3B04: 01 [$01] D0/3B05: 01 [$01] D0/3B06: 02 [$02] D0/3B07: 02 [$02] D0/3B08: 8A loop end D0/3B09: C0 return from subroutine ; [ Animation Script $0163: Atomic Ray (sprite) ] D0/3B0A: 10 00 speed 2, align to bottom of character/monster D0/3B0C: 90 00 set animation tile priority to 0 D0/3B0E: D1 01 invalidate character/monster sprite priority D0/3B10: EB jump based on thread ($3B19, $3B41, $3B41, $3B52) D0/3B19: C9 00 play default sound effect D0/3B1B: BF 53 3B jump to subroutine $3B53 D0/3B1E: BF 53 3B jump to subroutine $3B53 D0/3B21: 82 16 46 change target graphic to 22 (hit) D0/3B24: BF 53 3B jump to subroutine $3B53 D0/3B27: 83 3F move down 32 D0/3B29: 83 3F move down 32 D0/3B2B: C9 85 play sound effect $85 D0/3B2D: 80 17 update sprite layer priority based on target D0/3B2F: EC 01 change thread layer to bg1 D0/3B31: 84 01 set animation speed to 2 D0/3B33: 8B 0E animated loop start (14 times, increment frame offset each time) D0/3B35: 80 3B change target's color palette to animation palette D0/3B37: 00 [$00] D0/3B38: 80 3C restore target's color palette D0/3B3A: 00 [$00] D0/3B3B: 00 [$00] D0/3B3C: 8C animated loop end D0/3B3D: 82 00 00 change target graphic to 0 (no action) D0/3B40: FF end of script D0/3B41: 83 8F move back 16 D0/3B43: BF 53 3B jump to subroutine $3B53 D0/3B46: 83 6F move forward 16 D0/3B48: BF 53 3B jump to subroutine $3B53 D0/3B4B: 83 9E move back 31 D0/3B4D: BF 53 3B jump to subroutine $3B53 D0/3B50: 83 7E move forward 31 D0/3B52: FF end of script D0/3B53: E9 0F 00 move animation randomly (0..15,0..0) D0/3B56: 8B 08 animated loop start (8 times, increment frame offset each time) D0/3B58: 00 [$00] D0/3B59: 8C animated loop end D0/3B5A: C0 return from subroutine ; [ Animation Script $0162: Fire Ball (sprite) ] D0/3B5B: 00 00 speed 1, align to bottom of character/monster D0/3B5D: D1 01 invalidate character/monster sprite priority D0/3B5F: 83 AF move up/forward 16 D0/3B61: 90 00 set animation tile priority to 0 D0/3B63: EB jump based on thread ($3B7A, $3B6C, $3B7C, $3B85) D0/3B6C: 83 DF move up 32 D0/3B6E: F4 01 show sprite behind character/monster sprites D0/3B70: BF 86 3B jump to subroutine $3B86 D0/3B73: BF 86 3B jump to subroutine $3B86 D0/3B76: BF 86 3B jump to subroutine $3B86 D0/3B79: FF end of script D0/3B7A: C9 00 play default sound effect D0/3B7C: BF 86 3B jump to subroutine $3B86 D0/3B7F: BF 86 3B jump to subroutine $3B86 D0/3B82: BF 86 3B jump to subroutine $3B86 D0/3B85: FF end of script D0/3B86: E9 1F 1F move animation randomly (0..31,0..31) D0/3B89: 89 04 loop start (4 times) D0/3B8B: 83 FF move up/back 32 D0/3B8D: 8A loop end D0/3B8E: 89 13 loop start (19 times) D0/3B90: 83 07 move down/forward 8 D0/3B92: 00 [$00] D0/3B93: 8A loop end D0/3B94: 82 16 46 change target graphic to 22 (hit) D0/3B97: 80 3B change target's color palette to animation palette D0/3B99: 01 [$01] D0/3B9A: 80 3C restore target's color palette D0/3B9C: 01 [$01] D0/3B9D: 80 3B change target's color palette to animation palette D0/3B9F: 01 [$01] D0/3BA0: 80 3C restore target's color palette D0/3BA2: 8B 05 animated loop start (5 times, increment frame offset each time) D0/3BA4: 02 [$02] D0/3BA5: 02 [$02] D0/3BA6: 02 [$02] D0/3BA7: 8C animated loop end D0/3BA8: 82 00 00 change target graphic to 0 (no action) D0/3BAB: C0 return from subroutine ; [ Animation Script $0160: Exploder (sprite) ] D0/3BAC: 20 20 speed 3, align to center of character/monster D0/3BAE: C9 00 play default sound effect D0/3BB0: 83 BF move up/forward 32 D0/3BB2: 89 01 loop start (1 times) D0/3BB4: E9 3F 3F move animation randomly (0..63,0..63) D0/3BB7: 00 [$00] D0/3BB8: 01 [$01] D0/3BB9: 02 [$02] D0/3BBA: 03 [$03] D0/3BBB: 04 [$04] D0/3BBC: 05 [$05] D0/3BBD: 06 [$06] D0/3BBE: 07 [$07] D0/3BBF: 8A loop end D0/3BC0: FF end of script ; [ Animation Script $0161: Exploder (bg3) ] D0/3BC1: 00 20 speed 1, align to center of character/monster D0/3BC3: AF 60 set background color subtraction to 0 (red) D0/3BC5: C9 00 play default sound effect D0/3BC7: 8B 05 animated loop start (5 times, increment frame offset each time) D0/3BC9: B6 62 increase background color subtraction by 2 (red) D0/3BCB: 00 [$00] D0/3BCC: B6 62 increase background color subtraction by 2 (red) D0/3BCE: 00 [$00] D0/3BCF: 8C animated loop end D0/3BD0: 89 10 loop start (16 times) D0/3BD2: 80 3B change target's color palette to animation palette D0/3BD4: 0F [$0F] D0/3BD5: 80 3C restore target's color palette D0/3BD7: 0F [$0F] D0/3BD8: BD A0 hide bg1 thread D0/3BDA: 8A loop end D0/3BDB: 89 0B loop start (11 times) D0/3BDD: B6 72 decrease background color subtraction by 2 (red) D0/3BDF: 0F [$0F] D0/3BE0: 8A loop end D0/3BE1: FF end of script ; [ Animation Script $015E: X-fer (sprite) ] D0/3BE2: 00 20 speed 1, align to center of character/monster D0/3BE4: 89 30 loop start (48 times) D0/3BE6: 1F [---] D0/3BE7: 8A loop end D0/3BE8: 90 30 set animation tile priority to 3 D0/3BEA: 83 7F move forward 32 D0/3BEC: BF FC 3B jump to subroutine $3BFC D0/3BEF: BF FC 3B jump to subroutine $3BFC D0/3BF2: BF FC 3B jump to subroutine $3BFC D0/3BF5: BF FC 3B jump to subroutine $3BFC D0/3BF8: BF FC 3B jump to subroutine $3BFC D0/3BFB: FF end of script D0/3BFC: EB jump based on thread ($3C09, $3C18, $3C27, $3C09, $3C18, $3C27) D0/3C09: E9 3F 00 move animation randomly (0..63,0..0) D0/3C0C: 89 09 loop start (9 times) D0/3C0E: 83 CF move up 16 D0/3C10: 00 [$00] D0/3C11: 8A loop end D0/3C12: 89 09 loop start (9 times) D0/3C14: 83 2F move down 16 D0/3C16: 8A loop end D0/3C17: C0 return from subroutine D0/3C18: E9 3F 00 move animation randomly (0..63,0..0) D0/3C1B: 89 09 loop start (9 times) D0/3C1D: 83 CF move up 16 D0/3C1F: 01 [$01] D0/3C20: 8A loop end D0/3C21: 89 09 loop start (9 times) D0/3C23: 83 2F move down 16 D0/3C25: 8A loop end D0/3C26: C0 return from subroutine D0/3C27: E9 3F 00 move animation randomly (0..63,0..0) D0/3C2A: 89 09 loop start (9 times) D0/3C2C: 83 CF move up 16 D0/3C2E: 02 [$02] D0/3C2F: 8A loop end D0/3C30: 89 09 loop start (9 times) D0/3C32: 83 2F move down 16 D0/3C34: 8A loop end D0/3C35: C0 return from subroutine ; [ Animation Script $015F: X-fer (bg3) ] D0/3C36: 00 00 speed 1, align to bottom of character/monster D0/3C38: C9 00 play default sound effect D0/3C3A: D1 01 invalidate character/monster sprite priority D0/3C3C: A5 00 00 00 FF FF 40 00 init circle at (0,0) D0/3C44: C3 move circle to target D0/3C45: 83 3F move down 32 D0/3C47: 83 3F move down 32 D0/3C49: 83 2F move down 16 D0/3C4B: A6 00 70 00 move circle (+0,+112) D0/3C4F: 89 40 loop start (64 times) D0/3C51: A6 00 00 01 move circle (+0,+0) and grow by 1 D0/3C55: 98 04 03 increment frame offset every 4 loops (0..3) D0/3C58: F7 D8 wait until scanline 216 D0/3C5A: A7 update circle D0/3C5B: 00 [$00] D0/3C5C: 8A loop end D0/3C5D: 89 20 loop start (32 times) D0/3C5F: 98 04 03 increment frame offset every 4 loops (0..3) D0/3C62: F7 D8 wait until scanline 216 D0/3C64: A7 update circle D0/3C65: 00 [$00] D0/3C66: 8A loop end D0/3C67: 80 72 0D branch to $3C77 if attack hit D0/3C6A: 89 38 loop start (56 times) D0/3C6C: 98 04 03 increment frame offset every 4 loops (0..3) D0/3C6F: 83 C3 move up 4 D0/3C71: F7 D8 wait until scanline 216 D0/3C73: A7 update circle D0/3C74: 00 [$00] D0/3C75: 8A loop end D0/3C76: FF end of script D0/3C77: 80 3E 1E enable (sprites, bg4, bg3, bg2) in main screen D0/3C7A: 89 38 loop start (56 times) D0/3C7C: 98 04 03 increment frame offset every 4 loops (0..3) D0/3C7F: 83 C3 move up 4 D0/3C81: F7 D8 wait until scanline 216 D0/3C83: A7 update circle D0/3C84: 00 [$00] D0/3C85: 8A loop end D0/3C86: F1 80 hide target monster sprite D0/3C88: FF end of script ; [ Animation Script $015C: Confuser (bg3) ] D0/3C89: 00 20 speed 1, align to center of character/monster D0/3C8B: D1 01 invalidate character/monster sprite priority D0/3C8D: A5 00 00 00 FF FF 7F 00 init circle at (0,0) D0/3C95: 85 move to attacker position D0/3C96: A8 move circle to attacker D0/3C97: 00 [$00] D0/3C98: BD 50 hide bg3 thread D0/3C9A: 89 28 loop start (40 times) D0/3C9C: A6 00 00 01 move circle (+0,+0) and grow by 1 D0/3CA0: A3 13 14 shift colors (1..4) of bg3 animation palette left (1 loops per shift) D0/3CA3: F7 D8 wait until scanline 216 D0/3CA5: A7 update circle D0/3CA6: 00 [$00] D0/3CA7: 8A loop end D0/3CA8: 89 40 loop start (64 times) D0/3CAA: A3 13 14 shift colors (1..4) of bg3 animation palette left (1 loops per shift) D0/3CAD: F7 D8 wait until scanline 216 D0/3CAF: A7 update circle D0/3CB0: 00 [$00] D0/3CB1: 8A loop end D0/3CB2: 89 27 loop start (39 times) D0/3CB4: A6 00 00 FF move circle (+0,+0) and shrink by 1 D0/3CB8: A3 13 14 shift colors (1..4) of bg3 animation palette left (1 loops per shift) D0/3CBB: F7 D8 wait until scanline 216 D0/3CBD: A7 update circle D0/3CBE: 00 [$00] D0/3CBF: 8A loop end D0/3CC0: FF end of script ; [ Animation Script $015D: Confuser, Revenger, Inviz Edge (bg1) ] D0/3CC1: 00 20 speed 1, align to center of character/monster D0/3CC3: C4 80 move bg1 thread to this thread's position D0/3CC5: C9 00 play default sound effect D0/3CC7: F7 A0 wait until scanline 160 D0/3CC9: AD 06 set bg1 hdma scroll type to 6 D0/3CCB: 80 46 61 command $80/$46 D0/3CCE: 80 47 11 command $80/$47 D0/3CD1: AC 81 C1 set (bg1) hdma scroll data (amplitude 1, frequency 1, horizontal and vertical) D0/3CD4: BF 2A 3D jump to subroutine $3D2A D0/3CD7: BD A0 hide bg1 thread D0/3CD9: AC 81 C3 set (bg1) hdma scroll data (amplitude 3, frequency 1, horizontal and vertical) D0/3CDC: BF 2A 3D jump to subroutine $3D2A D0/3CDF: AC 81 C5 set (bg1) hdma scroll data (amplitude 5, frequency 1, horizontal and vertical) D0/3CE2: BF 2A 3D jump to subroutine $3D2A D0/3CE5: AC 81 47 set (bg1) hdma scroll data (amplitude 7, frequency 1, horizontal) D0/3CE8: BF 2A 3D jump to subroutine $3D2A D0/3CEB: AC 81 49 set (bg1) hdma scroll data (amplitude 9, frequency 1, horizontal) D0/3CEE: BF 2A 3D jump to subroutine $3D2A D0/3CF1: 89 60 loop start (96 times) D0/3CF3: AE C4 update (bg1) hdma scroll data (horizontal and vertical) D0/3CF5: 00 [$00] D0/3CF6: 8A loop end D0/3CF7: AC 81 47 set (bg1) hdma scroll data (amplitude 7, frequency 1, horizontal) D0/3CFA: BF 2A 3D jump to subroutine $3D2A D0/3CFD: AC 81 C5 set (bg1) hdma scroll data (amplitude 5, frequency 1, horizontal and vertical) D0/3D00: BF 2A 3D jump to subroutine $3D2A D0/3D03: AC 81 C4 set (bg1) hdma scroll data (amplitude 4, frequency 1, horizontal and vertical) D0/3D06: BF 2A 3D jump to subroutine $3D2A D0/3D09: AC 81 C3 set (bg1) hdma scroll data (amplitude 3, frequency 1, horizontal and vertical) D0/3D0C: BF 2A 3D jump to subroutine $3D2A D0/3D0F: AC 81 C2 set (bg1) hdma scroll data (amplitude 2, frequency 1, horizontal and vertical) D0/3D12: BF 2A 3D jump to subroutine $3D2A D0/3D15: AC 81 C1 set (bg1) hdma scroll data (amplitude 1, frequency 1, horizontal and vertical) D0/3D18: BF 2A 3D jump to subroutine $3D2A D0/3D1B: F7 A0 wait until scanline 160 D0/3D1D: 80 46 0C command $80/$46 D0/3D20: 80 47 10 command $80/$47 D0/3D23: AD 03 set bg1 hdma scroll type to 3 D0/3D25: C4 80 move bg1 thread to this thread's position D0/3D27: 80 25 clear bg1 hdma scroll data D0/3D29: FF end of script D0/3D2A: 89 03 loop start (3 times) D0/3D2C: AE C4 update (bg1) hdma scroll data (horizontal and vertical) D0/3D2E: 00 [$00] D0/3D2F: 8A loop end D0/3D30: C0 return from subroutine ; [ Animation Script $015B: Grav Bomb (bg1) ] D0/3D31: 50 00 speed 6, align to bottom of character/monster D0/3D33: D1 01 invalidate character/monster sprite priority D0/3D35: 83 27 move down 8 D0/3D37: 00 [$00] D0/3D38: 01 [$01] D0/3D39: 02 [$02] D0/3D3A: 03 [$03] D0/3D3B: 04 [$04] D0/3D3C: 05 [$05] D0/3D3D: 06 [$06] D0/3D3E: 07 [$07] D0/3D3F: 83 C4 move up 5 D0/3D41: 08 [$08] D0/3D42: 09 [$09] D0/3D43: 0A [$0A] D0/3D44: 0B [$0B] D0/3D45: 89 07 loop start (7 times) D0/3D47: 0B [$0B] D0/3D48: 8A loop end D0/3D49: 84 03 set animation speed to 4 D0/3D4B: 0A [$0A] D0/3D4C: 09 [$09] D0/3D4D: 08 [$08] D0/3D4E: 83 24 move down 5 D0/3D50: 07 [$07] D0/3D51: 06 [$06] D0/3D52: 05 [$05] D0/3D53: 04 [$04] D0/3D54: 03 [$03] D0/3D55: 02 [$02] D0/3D56: 01 [$01] D0/3D57: 00 [$00] D0/3D58: FF end of script ; [ Animation Script $015A: Grav Bomb (sprite) ] D0/3D59: 00 20 speed 1, align to center of character/monster D0/3D5B: C9 A2 play sound effect $A2 D0/3D5D: 90 20 set animation tile priority to 2 D0/3D5F: EB jump based on thread ($3D6C, $3D7E, $3D7E, $3D7E, $3D7E, $3D7E) D0/3D6C: C9 00 play default sound effect D0/3D6E: 85 move to attacker position D0/3D6F: D1 01 invalidate character/monster sprite priority D0/3D71: 80 0F command $80/$0F D0/3D73: 04 [$04] D0/3D74: ED command $ED D0/3D75: 08 [$08] D0/3D76: 03 [$03] D0/3D77: C2 80 unpause bg1 thread D0/3D79: 89 80 loop start (128 times) D0/3D7B: 1F [---] D0/3D7C: 8A loop end D0/3D7D: FF end of script D0/3D7E: 84 02 set animation speed to 3 D0/3D80: 89 01 loop start (1 times) D0/3D82: 80 0C move to first sprite thread position D0/3D84: 04 [$04] D0/3D85: 03 [$03] D0/3D86: 02 [$02] D0/3D87: 01 [$01] D0/3D88: 00 [$00] D0/3D89: 8A loop end D0/3D8A: 80 10 move to target position D0/3D8C: 83 AF move up/forward 16 D0/3D8E: 89 1F loop start (31 times) D0/3D90: 1F [---] D0/3D91: 8A loop end D0/3D92: 90 30 set animation tile priority to 3 D0/3D94: 84 03 set animation speed to 4 D0/3D96: 89 04 loop start (4 times) D0/3D98: E9 1F 1F move animation randomly (0..31,0..31) D0/3D9B: 05 [$05] D0/3D9C: 06 [$06] D0/3D9D: 07 [$07] D0/3D9E: 08 [$08] D0/3D9F: 09 [$09] D0/3DA0: 0A [$0A] D0/3DA1: 0B [$0B] D0/3DA2: 0C [$0C] D0/3DA3: 8A loop end D0/3DA4: FF end of script ; [ Animation Script $0159: ] D0/3DA5: 20 20 speed 3, align to center of character/monster D0/3DA7: 90 20 set animation tile priority to 2 D0/3DA9: 89 07 loop start (7 times) D0/3DAB: 1F [---] D0/3DAC: 8A loop end D0/3DAD: 8B 06 animated loop start (6 times, increment frame offset each time) D0/3DAF: 00 [$00] D0/3DB0: 8C animated loop end D0/3DB1: FF end of script ; [ Animation Script $0158: Bio Blast (bg1) ] D0/3DB2: 00 20 speed 1, align to center of character/monster D0/3DB4: C4 80 move bg1 thread to this thread's position D0/3DB6: C9 00 play default sound effect D0/3DB8: D0 20 set tile priority to 2 for all character/monster sprites D0/3DBA: F9 02 00 00 set attacker magitek armor action to 2 (cockpit open) D0/3DBE: D1 01 invalidate character/monster sprite priority D0/3DC0: A5 80 4B 04 DE FF 7F 20 init circle at (128,75) D0/3DC8: A8 move circle to attacker D0/3DC9: A9 E0 10 move circle (-32,+16) D0/3DCC: AD 06 set bg1 hdma scroll type to 6 D0/3DCE: AC 81 48 set (bg1) hdma scroll data (amplitude 8, frequency 1, horizontal) D0/3DD1: AC 82 82 set (bg1) hdma scroll data (amplitude 2, frequency 2, vertical) D0/3DD4: 00 [$00] D0/3DD5: BD A0 hide bg1 thread D0/3DD7: 89 37 loop start (55 times) D0/3DD9: A9 FE 00 move circle (-2,+0) D0/3DDC: A6 00 00 02 move circle (+0,+0) and grow by 2 D0/3DE0: A7 update circle D0/3DE1: AE C4 update (bg1) hdma scroll data (horizontal and vertical) D0/3DE3: 00 [$00] D0/3DE4: 8A loop end D0/3DE5: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/3DE7: 89 20 loop start (32 times) D0/3DE9: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/3DEB: A6 00 00 01 move circle (+0,+0) and grow by 1 D0/3DEF: A7 update circle D0/3DF0: AE C4 update (bg1) hdma scroll data (horizontal and vertical) D0/3DF2: 00 [$00] D0/3DF3: 8A loop end D0/3DF4: 80 25 clear bg1 hdma scroll data D0/3DF6: AD 03 set bg1 hdma scroll type to 3 D0/3DF8: D1 00 validate character/monster sprite priority D0/3DFA: F9 00 00 00 set attacker magitek armor action to 0 (standing still) D0/3DFE: FF end of script ; [ Animation Script $0154: Bolt Beam (bg1) ] D0/3DFF: 00 C0 speed 1, align to front of character/monster D0/3E01: 85 move to attacker position D0/3E02: F9 01 00 00 set attacker magitek armor action to 1 (walking) D0/3E06: C8 04 change attacker action to 4 (walking forward) D0/3E08: E7 calculate vector from attacking character to target D0/3E09: 0F [$0F] D0/3E0A: E5 02 03 00 move character forward along vector at speed 2 and height 0, branch to $3E09 D0/3E0E: D1 01 invalidate character/monster sprite priority D0/3E10: C9 00 play default sound effect D0/3E12: C8 00 change attacker action to 0 (no action) D0/3E14: F9 02 00 00 set attacker magitek armor action to 2 (cockpit open) D0/3E18: 89 03 loop start (3 times) D0/3E1A: 83 7F move forward 32 D0/3E1C: 8A loop end D0/3E1D: 83 07 move down/forward 8 D0/3E1F: C2 40 unpause bg3 thread D0/3E21: 89 06 loop start (6 times) D0/3E23: 00 [$00] D0/3E24: 01 [$01] D0/3E25: 02 [$02] D0/3E26: 03 [$03] D0/3E27: 04 [$04] D0/3E28: 05 [$05] D0/3E29: 8A loop end D0/3E2A: C2 20 unpause sprite threads D0/3E2C: 89 0F loop start (15 times) D0/3E2E: 0F [$0F] D0/3E2F: 8A loop end D0/3E30: D1 00 validate character/monster sprite priority D0/3E32: 84 01 set animation speed to 2 D0/3E34: F9 01 00 00 set attacker magitek armor action to 1 (walking) D0/3E38: C8 03 change attacker action to 3 (walking back) D0/3E3A: 0F [$0F] D0/3E3B: E6 02 03 00 move character backward along vector at speed 2 and height 0, branch to $3E3A D0/3E3F: C8 00 change attacker action to 0 (no action) D0/3E41: F9 00 00 00 set attacker magitek armor action to 0 (standing still) D0/3E45: FF end of script ; [ Animation Script $0155: Bolt Beam (bg3) ] D0/3E46: 00 20 speed 1, align to center of character/monster D0/3E48: 80 44 command $80/$44 D0/3E4A: 89 29 loop start (41 times) D0/3E4C: 00 [$00] D0/3E4D: BD 50 hide bg3 thread D0/3E4F: 8A loop end D0/3E50: FF end of script ; [ Animation Script $014D: Fire Beam, Ice Beam (sprite) ] D0/3E51: 00 20 speed 1, align to center of character/monster D0/3E53: EB jump based on thread ($3E5A, $3E61, $3E66) D0/3E5A: C9 85 play sound effect $85 D0/3E5C: 83 60 move forward 1 D0/3E5E: FA 68 3E jump to $3E68 D0/3E61: 83 68 move forward 9 D0/3E63: FA 68 3E jump to $3E68 D0/3E66: 83 70 move forward 17 D0/3E68: 84 02 set animation speed to 3 D0/3E6A: 8B 05 animated loop start (5 times, increment frame offset each time) D0/3E6C: 00 [$00] D0/3E6D: 8C animated loop end D0/3E6E: FF end of script ; [ Animation Script $014C: Fire Beam, Ice Beam (bg3) ] D0/3E6F: 00 20 speed 1, align to center of character/monster D0/3E71: F7 A0 wait until scanline 160 D0/3E73: D4 02 04 12 add (sprites, bg2) to (bg3) D0/3E77: 80 44 command $80/$44 D0/3E79: 84 04 set animation speed to 5 D0/3E7B: 8B 08 animated loop start (8 times, increment frame offset each time) D0/3E7D: 00 [$00] D0/3E7E: 8C animated loop end D0/3E7F: FF end of script ; [ Animation Script $0157: Ice Beam (bg1) ] D0/3E80: 00 C0 speed 1, align to front of character/monster D0/3E82: F7 A0 wait until scanline 160 D0/3E84: D4 02 05 12 add (sprites, bg2) to (bg3, bg1) D0/3E88: FA 8D 3E jump to $3E8D ; [ Animation Script $014B: Fire Beam (bg1) ] D0/3E8B: 00 C0 speed 1, align to front of character/monster D0/3E8D: 85 move to attacker position D0/3E8E: F9 01 00 00 set attacker magitek armor action to 1 (walking) D0/3E92: C8 04 change attacker action to 4 (walking forward) D0/3E94: E7 calculate vector from attacking character to target D0/3E95: 0F [$0F] D0/3E96: E5 02 03 00 move character forward along vector at speed 2 and height 0, branch to $3E95 D0/3E9A: D1 01 invalidate character/monster sprite priority D0/3E9C: C9 00 play default sound effect D0/3E9E: C8 00 change attacker action to 0 (no action) D0/3EA0: F9 02 00 00 set attacker magitek armor action to 2 (cockpit open) D0/3EA4: 89 03 loop start (3 times) D0/3EA6: 83 7F move forward 32 D0/3EA8: 8A loop end D0/3EA9: 83 07 move down/forward 8 D0/3EAB: C2 40 unpause bg3 thread D0/3EAD: 89 07 loop start (7 times) D0/3EAF: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/3EB2: 00 [$00] D0/3EB3: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/3EB6: 00 [$00] D0/3EB7: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/3EBA: 00 [$00] D0/3EBB: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/3EBE: 00 [$00] D0/3EBF: 8A loop end D0/3EC0: C2 20 unpause sprite threads D0/3EC2: 89 0F loop start (15 times) D0/3EC4: 0F [$0F] D0/3EC5: 8A loop end D0/3EC6: D1 00 validate character/monster sprite priority D0/3EC8: 84 01 set animation speed to 2 D0/3ECA: F9 01 00 00 set attacker magitek armor action to 1 (walking) D0/3ECE: C8 03 change attacker action to 3 (walking back) D0/3ED0: 0F [$0F] D0/3ED1: E6 02 03 00 move character backward along vector at speed 2 and height 0, branch to $3ED0 D0/3ED5: C8 00 change attacker action to 0 (no action) D0/3ED7: F9 00 00 00 set attacker magitek armor action to 0 (standing still) D0/3EDB: FF end of script ; [ Animation Script $0152: Snare (bg1) ] D0/3EDC: 00 00 speed 1, align to bottom of character/monster D0/3EDE: EE 20 set target sprite tile priority to 2 D0/3EE0: D1 01 invalidate character/monster sprite priority D0/3EE2: 89 07 loop start (7 times) D0/3EE4: 83 2F move down 16 D0/3EE6: 8A loop end D0/3EE7: 83 C7 move up 8 D0/3EE9: C9 00 play default sound effect D0/3EEB: A5 00 00 00 FF FF 40 00 init circle at (0,0) D0/3EF3: C3 move circle to target D0/3EF4: A6 00 48 00 move circle (+0,+72) D0/3EF8: 00 [$00] D0/3EF9: BD A0 hide bg1 thread D0/3EFB: 89 1F loop start (31 times) D0/3EFD: A6 00 00 02 move circle (+0,+0) and grow by 2 D0/3F01: A7 update circle D0/3F02: 00 [$00] D0/3F03: 8A loop end D0/3F04: 80 45 33 enable bg1 in window 1 D0/3F07: 80 72 11 branch to $3F1B if attack hit D0/3F0A: 89 7F loop start (127 times) D0/3F0C: 00 [$00] D0/3F0D: 8A loop end D0/3F0E: 80 45 3C enable bg1 in window 2 D0/3F11: 89 1E loop start (30 times) D0/3F13: A6 00 00 FE move circle (+0,+0) and shrink by 2 D0/3F17: A7 update circle D0/3F18: 00 [$00] D0/3F19: 8A loop end D0/3F1A: FF end of script D0/3F1B: 89 7F loop start (127 times) D0/3F1D: 87 20 move target down 1 D0/3F1F: 00 [$00] D0/3F20: 8A loop end D0/3F21: F1 80 hide target monster sprite D0/3F23: 80 45 3C enable bg1 in window 2 D0/3F26: 89 1E loop start (30 times) D0/3F28: A6 00 00 FE move circle (+0,+0) and shrink by 2 D0/3F2C: A7 update circle D0/3F2D: 00 [$00] D0/3F2E: 8A loop end D0/3F2F: 89 03 loop start (3 times) D0/3F31: 87 DF move target up 32 D0/3F33: 8A loop end D0/3F34: FF end of script ; [ Animation Script $0153: Cure 2, Dried Meat, Pearl Wind, Health (sprite) ] D0/3F35: 00 20 speed 1, align to center of character/monster D0/3F37: D1 01 invalidate character/monster sprite priority D0/3F39: EB jump based on thread ($3F42, $3F49, $3F52, $3F5E) D0/3F42: C9 00 play default sound effect D0/3F44: 83 6B move forward 12 D0/3F46: FA 58 3F jump to $3F58 D0/3F49: 89 03 loop start (3 times) D0/3F4B: 1F [---] D0/3F4C: 8A loop end D0/3F4D: 83 CB move up 12 D0/3F4F: FA 58 3F jump to $3F58 D0/3F52: 89 07 loop start (7 times) D0/3F54: 1F [---] D0/3F55: 8A loop end D0/3F56: 83 8B move back 12 D0/3F58: 84 03 set animation speed to 4 D0/3F5A: 8B 0D animated loop start (13 times, increment frame offset each time) D0/3F5C: 00 [$00] D0/3F5D: 8C animated loop end D0/3F5E: FF end of script ; [ Animation Script $0150: Kitty (sprite) ] D0/3F5F: 30 20 speed 4, align to center of character/monster D0/3F61: 90 00 set animation tile priority to 0 D0/3F63: 89 06 loop start (6 times) D0/3F65: 1F [---] D0/3F66: 8A loop end D0/3F67: C9 0B play sound effect $0B D0/3F69: 8B 08 animated loop start (8 times, increment frame offset each time) D0/3F6B: 00 [$00] D0/3F6C: 8C animated loop end D0/3F6D: C9 FF play sound effect $FF D0/3F6F: FF end of script ; [ Animation Script $0151: Kitty (bg1) ] D0/3F70: 10 20 speed 2, align to center of character/monster D0/3F72: D1 01 invalidate character/monster sprite priority D0/3F74: 90 20 set animation tile priority to 2 D0/3F76: 85 move to attacker position D0/3F77: C9 00 play default sound effect D0/3F79: 83 7F move forward 32 D0/3F7B: 00 [$00] D0/3F7C: 01 [$01] D0/3F7D: 02 [$02] D0/3F7E: 03 [$03] D0/3F7F: 04 [$04] D0/3F80: 89 40 loop start (64 times) D0/3F82: 04 [$04] D0/3F83: 8A loop end D0/3F84: FF end of script ; [ Animation Script $014E: Wild Bear (sprite) ] D0/3F85: 30 20 speed 4, align to center of character/monster D0/3F87: D1 01 invalidate character/monster sprite priority D0/3F89: 90 20 set animation tile priority to 2 D0/3F8B: 85 move to attacker position D0/3F8C: 83 7F move forward 32 D0/3F8E: C9 00 play default sound effect D0/3F90: 89 03 loop start (3 times) D0/3F92: 00 [$00] D0/3F93: 01 [$01] D0/3F94: 8A loop end D0/3F95: 89 20 loop start (32 times) D0/3F97: 02 [$02] D0/3F98: 8A loop end D0/3F99: FF end of script ; [ Animation Script $014F: Wild Bear (bg1) ] D0/3F9A: 00 20 speed 1, align to center of character/monster D0/3F9C: C4 80 move bg1 thread to this thread's position D0/3F9E: 80 32 E0 3F A4 3F jump to $3FE0 (left) or $3FA4 (right) D0/3FA4: A5 20 70 00 FF FF 20 00 init circle at (32,112) D0/3FAC: 00 [$00] D0/3FAD: BD A0 hide bg1 thread D0/3FAF: 89 1F loop start (31 times) D0/3FB1: 00 [$00] D0/3FB2: 8A loop end D0/3FB3: C9 51 play sound effect $51 D0/3FB5: 89 0F loop start (15 times) D0/3FB7: A3 16 31 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/3FBA: A6 00 00 02 move circle (+0,+0) and grow by 2 D0/3FBE: F7 D8 wait until scanline 216 D0/3FC0: A7 update circle D0/3FC1: 00 [$00] D0/3FC2: 8A loop end D0/3FC3: 89 60 loop start (96 times) D0/3FC5: A3 16 31 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/3FC8: A6 02 00 00 move circle (+2,+0) D0/3FCC: F7 D8 wait until scanline 216 D0/3FCE: A7 update circle D0/3FCF: 00 [$00] D0/3FD0: 8A loop end D0/3FD1: 89 0F loop start (15 times) D0/3FD3: A3 16 31 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/3FD6: A6 00 00 FE move circle (+0,+0) and shrink by 2 D0/3FDA: F7 D8 wait until scanline 216 D0/3FDC: A7 update circle D0/3FDD: 00 [$00] D0/3FDE: 8A loop end D0/3FDF: FF end of script D0/3FE0: A5 E0 70 00 FF FF 20 00 init circle at (224,112) D0/3FE8: 00 [$00] D0/3FE9: BD A0 hide bg1 thread D0/3FEB: 89 1F loop start (31 times) D0/3FED: 00 [$00] D0/3FEE: 8A loop end D0/3FEF: C9 51 play sound effect $51 D0/3FF1: 89 0F loop start (15 times) D0/3FF3: A3 16 31 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/3FF6: A6 00 00 02 move circle (+0,+0) and grow by 2 D0/3FFA: F7 D8 wait until scanline 216 D0/3FFC: A7 update circle D0/3FFD: 00 [$00] D0/3FFE: 8A loop end D0/3FFF: 89 60 loop start (96 times) D0/4001: A3 16 31 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/4004: A6 FE 00 00 move circle (-2,+0) D0/4008: F7 D8 wait until scanline 216 D0/400A: A7 update circle D0/400B: 00 [$00] D0/400C: 8A loop end D0/400D: 89 0F loop start (15 times) D0/400F: A3 16 31 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/4012: A6 00 00 FE move circle (+0,+0) and shrink by 2 D0/4016: F7 D8 wait until scanline 216 D0/4018: A7 update circle D0/4019: 00 [$00] D0/401A: 8A loop end D0/401B: FF end of script ; [ Animation Script $014A: Lagomorph (bg1) ] D0/401C: 60 20 speed 7, align to center of character/monster D0/401E: D1 01 invalidate character/monster sprite priority D0/4020: 85 move to attacker position D0/4021: 83 7F move forward 32 D0/4023: 89 01 loop start (1 times) D0/4025: C9 00 play default sound effect D0/4027: 00 [$00] D0/4028: 00 [$00] D0/4029: 00 [$00] D0/402A: 00 [$00] D0/402B: 01 [$01] D0/402C: 00 [$00] D0/402D: 01 [$01] D0/402E: 00 [$00] D0/402F: 8A loop end D0/4030: FF end of script ; [ Animation Script $0148: Ice Rabbit (bg1) ] D0/4031: 20 20 speed 3, align to center of character/monster D0/4033: D1 01 invalidate character/monster sprite priority D0/4035: C9 00 play default sound effect D0/4037: F7 A0 wait until scanline 160 D0/4039: D4 00 00 00 add fixed color to (no layers) D0/403D: 85 move to attacker position D0/403E: 83 7F move forward 32 D0/4040: 89 03 loop start (3 times) D0/4042: 00 [$00] D0/4043: 00 [$00] D0/4044: 00 [$00] D0/4045: 00 [$00] D0/4046: 01 [$01] D0/4047: 00 [$00] D0/4048: 01 [$01] D0/4049: 00 [$00] D0/404A: 8A loop end D0/404B: FF end of script ; [ Animation Script $0149: Ice Rabbit (sprite) ] D0/404C: 20 20 speed 3, align to center of character/monster D0/404E: EB jump based on thread ($4057, $4060, $4067, $406E) D0/4057: C9 2A play sound effect $2A D0/4059: 83 83 move back 4 D0/405B: 83 CB move up 12 D0/405D: FA 72 40 jump to $4072 D0/4060: 83 23 move down 4 D0/4062: 83 8B move back 12 D0/4064: FA 72 40 jump to $4072 D0/4067: 83 63 move forward 4 D0/4069: 83 2B move down 12 D0/406B: FA 72 40 jump to $4072 D0/406E: 83 C3 move up 4 D0/4070: 83 6B move forward 12 D0/4072: 8B 06 animated loop start (6 times, increment frame offset each time) D0/4074: 00 [$00] D0/4075: 8C animated loop end D0/4076: FF end of script ; [ Animation Script $0146: Pois. Frog (bg1) ] D0/4077: 30 00 speed 4, align to bottom of character/monster D0/4079: D1 01 invalidate character/monster sprite priority D0/407B: F7 A0 wait until scanline 160 D0/407D: D4 02 02 10 add (sprites) to (bg2) D0/4081: C9 00 play default sound effect D0/4083: 89 03 loop start (3 times) D0/4085: 00 [$00] D0/4086: 01 [$01] D0/4087: 02 [$02] D0/4088: 00 [$00] D0/4089: 00 [$00] D0/408A: 00 [$00] D0/408B: 00 [$00] D0/408C: 00 [$00] D0/408D: 00 [$00] D0/408E: 8A loop end D0/408F: FF end of script ; [ Animation Script $0147: Pois. Frog (sprite) ] D0/4090: 30 00 speed 4, align to bottom of character/monster D0/4092: 90 00 set animation tile priority to 0 D0/4094: 8B 1A animated loop start (26 times, increment frame offset each time) D0/4096: 00 [$00] D0/4097: 8C animated loop end D0/4098: FF end of script ; [ Animation Script $0144: Tapir (bg1) ] D0/4099: 00 00 speed 1, align to bottom of character/monster D0/409B: 85 move to attacker position D0/409C: D1 01 invalidate character/monster sprite priority D0/409E: 83 7F move forward 32 D0/40A0: CD FF set bg1 animation palette color addition to 31 (white) D0/40A2: AC 83 84 set (bg1) hdma scroll data (amplitude 4, frequency 3, vertical) D0/40A5: F7 A0 wait until scanline 160 D0/40A7: D4 00 00 00 add fixed color to (no layers) D0/40AB: AD 06 set bg1 hdma scroll type to 6 D0/40AD: 00 [$00] D0/40AE: BD A0 hide bg1 thread D0/40B0: 83 27 move down 8 D0/40B2: C9 00 play default sound effect D0/40B4: 89 0F loop start (15 times) D0/40B6: CE F2 decrease bg1 animation palette color addition by 2 (white) D0/40B8: AE 84 update (bg1) hdma scroll data (vertical) D0/40BA: 00 [$00] D0/40BB: 8A loop end D0/40BC: AC 83 83 set (bg1) hdma scroll data (amplitude 3, frequency 3, vertical) D0/40BF: BF D9 40 jump to subroutine $40D9 D0/40C2: AC 83 81 set (bg1) hdma scroll data (amplitude 1, frequency 3, vertical) D0/40C5: BF D9 40 jump to subroutine $40D9 D0/40C8: AC 83 80 set (bg1) hdma scroll data (amplitude 0, frequency 3, vertical) D0/40CB: BF D9 40 jump to subroutine $40D9 D0/40CE: 89 40 loop start (64 times) D0/40D0: 00 [$00] D0/40D1: 8A loop end D0/40D2: 80 25 clear bg1 hdma scroll data D0/40D4: F7 A0 wait until scanline 160 D0/40D6: AD 03 set bg1 hdma scroll type to 3 D0/40D8: FF end of script D0/40D9: 89 0F loop start (15 times) D0/40DB: AE 84 update (bg1) hdma scroll data (vertical) D0/40DD: 00 [$00] D0/40DE: 8A loop end D0/40DF: C0 return from subroutine ; [ Animation Script $0145: Tapir (sprite) ] D0/40E0: 00 00 speed 1, align to bottom of character/monster D0/40E2: 89 5F loop start (95 times) D0/40E4: 1F [---] D0/40E5: 8A loop end D0/40E6: EB jump based on thread ($40EF, $40F6, $40FF, $410F) D0/40EF: C9 7D play sound effect $7D D0/40F1: 83 67 move forward 8 D0/40F3: FA 05 41 jump to $4105 D0/40F6: 89 03 loop start (3 times) D0/40F8: 1F [---] D0/40F9: 8A loop end D0/40FA: 83 87 move back 8 D0/40FC: FA 05 41 jump to $4105 D0/40FF: 89 07 loop start (7 times) D0/4101: 1F [---] D0/4102: 8A loop end D0/4103: 83 27 move down 8 D0/4105: 84 03 set animation speed to 4 D0/4107: 8B 07 animated loop start (7 times, increment frame offset each time) D0/4109: 00 [$00] D0/410A: 8C animated loop end D0/410B: 8B 07 animated loop start (7 times, increment frame offset each time) D0/410D: 00 [$00] D0/410E: 8C animated loop end D0/410F: FF end of script ; [ Animation Script $0141: Whump (sprite) ] D0/4110: 00 00 speed 1, align to bottom of character/monster D0/4112: 83 CF move up 16 D0/4114: 83 6F move forward 16 D0/4116: E9 0F 0F move animation randomly (0..15,0..15) D0/4119: FA 1E 41 jump to $411E ; [ Animation Script $013F: Wombat (sprite) ] D0/411C: 00 00 speed 1, align to bottom of character/monster D0/411E: BF 25 5F jump to subroutine $5F25 D0/4121: D1 01 invalidate character/monster sprite priority D0/4123: 89 07 loop start (7 times) D0/4125: 83 9F move back 32 D0/4127: 8A loop end D0/4128: 89 3A loop start (58 times) D0/412A: 83 63 move forward 4 D0/412C: 98 04 02 increment frame offset every 4 loops (0..2) D0/412F: 00 [$00] D0/4130: 8A loop end D0/4131: 83 63 move forward 4 D0/4133: 83 C4 move up 5 D0/4135: 98 04 02 increment frame offset every 4 loops (0..2) D0/4138: 00 [$00] D0/4139: 83 63 move forward 4 D0/413B: 83 C3 move up 4 D0/413D: 98 04 02 increment frame offset every 4 loops (0..2) D0/4140: 00 [$00] D0/4141: 83 63 move forward 4 D0/4143: 83 C2 move up 3 D0/4145: 98 04 02 increment frame offset every 4 loops (0..2) D0/4148: 00 [$00] D0/4149: 83 63 move forward 4 D0/414B: 83 C1 move up 2 D0/414D: 98 04 02 increment frame offset every 4 loops (0..2) D0/4150: 00 [$00] D0/4151: 83 63 move forward 4 D0/4153: 83 21 move down 2 D0/4155: 98 04 02 increment frame offset every 4 loops (0..2) D0/4158: 00 [$00] D0/4159: 83 63 move forward 4 D0/415B: 83 21 move down 2 D0/415D: 98 04 02 increment frame offset every 4 loops (0..2) D0/4160: 00 [$00] D0/4161: 83 63 move forward 4 D0/4163: 83 21 move down 2 D0/4165: 98 04 02 increment frame offset every 4 loops (0..2) D0/4168: 00 [$00] D0/4169: 83 63 move forward 4 D0/416B: 83 22 move down 3 D0/416D: 98 04 02 increment frame offset every 4 loops (0..2) D0/4170: 00 [$00] D0/4171: 83 63 move forward 4 D0/4173: 83 23 move down 4 D0/4175: 98 04 02 increment frame offset every 4 loops (0..2) D0/4178: 00 [$00] D0/4179: 83 63 move forward 4 D0/417B: 83 24 move down 5 D0/417D: 98 04 02 increment frame offset every 4 loops (0..2) D0/4180: 00 [$00] D0/4181: 89 3A loop start (58 times) D0/4183: 83 63 move forward 4 D0/4185: 98 04 02 increment frame offset every 4 loops (0..2) D0/4188: 00 [$00] D0/4189: 8A loop end D0/418A: FF end of script ; [ Animation Script $0140: Wombat (bg1) ] D0/418B: 00 00 speed 1, align to bottom of character/monster D0/418D: 89 40 loop start (64 times) D0/418F: 0F [$0F] D0/4190: 8A loop end D0/4191: 84 04 set animation speed to 5 D0/4193: 00 [$00] D0/4194: 01 [$01] D0/4195: 02 [$02] D0/4196: 03 [$03] D0/4197: FF end of script ; [ Animation Script $013D: Cokatrice (sprite) ] D0/4198: 00 20 speed 1, align to center of character/monster D0/419A: D1 01 invalidate character/monster sprite priority D0/419C: 89 04 loop start (4 times) D0/419E: 83 FF move up/back 32 D0/41A0: 8A loop end D0/41A1: C9 5B play sound effect $5B D0/41A3: 89 27 loop start (39 times) D0/41A5: 83 03 move down/forward 4 D0/41A7: 00 [$00] D0/41A8: 8A loop end D0/41A9: 89 27 loop start (39 times) D0/41AB: 83 A3 move up/forward 4 D0/41AD: 00 [$00] D0/41AE: 8A loop end D0/41AF: FF end of script ; [ Animation Script $013E: Cokatrice (bg1) ] D0/41B0: 00 20 speed 1, align to center of character/monster D0/41B2: 89 27 loop start (39 times) D0/41B4: 0F [$0F] D0/41B5: 8A loop end D0/41B6: C9 00 play default sound effect D0/41B8: 84 03 set animation speed to 4 D0/41BA: 00 [$00] D0/41BB: 01 [$01] D0/41BC: 02 [$02] D0/41BD: 03 [$03] D0/41BE: FF end of script ; [ Animation Script $013C: Surge, Slide (sprite) ] D0/41BF: 00 20 speed 1, align to center of character/monster D0/41C1: 89 07 loop start (7 times) D0/41C3: 1F [---] D0/41C4: 8A loop end D0/41C5: EE 20 set target sprite tile priority to 2 D0/41C7: 89 40 loop start (64 times) D0/41C9: 1F [---] D0/41CA: 8A loop end D0/41CB: 89 0F loop start (15 times) D0/41CD: 87 61 move target forward 2 D0/41CF: 1F [---] D0/41D0: 87 81 move target back 2 D0/41D2: 1F [---] D0/41D3: 8A loop end D0/41D4: FF end of script ; [ Animation Script $013A: Surge, Slide (bg1) ] D0/41D5: 00 20 speed 1, align to center of character/monster D0/41D7: D1 01 invalidate character/monster sprite priority D0/41D9: D0 30 set tile priority to 3 for all character/monster sprites D0/41DB: C4 80 move bg1 thread to this thread's position D0/41DD: C9 00 play default sound effect D0/41DF: 89 07 loop start (7 times) D0/41E1: 83 9F move back 32 D0/41E3: 8A loop end D0/41E4: 00 [$00] D0/41E5: BD A0 hide bg1 thread D0/41E7: 89 80 loop start (128 times) D0/41E9: 83 61 move forward 2 D0/41EB: A4 17 33 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift) D0/41EE: D6 02 00 scroll background to (2,0) D0/41F1: 00 [$00] D0/41F2: 83 61 move forward 2 D0/41F4: A4 17 33 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift) D0/41F7: D6 FE 00 scroll background to (-2,0) D0/41FA: 00 [$00] D0/41FB: 8A loop end D0/41FC: D6 00 00 scroll background to (0,0) D0/41FF: FF end of script ; [ Animation Script $013B: Surge, Slide (bg3) ] D0/4200: 00 20 speed 1, align to center of character/monster D0/4202: C4 40 move bg3 thread to this thread's position D0/4204: AC 21 48 set (bg3) hdma scroll data (amplitude 8, frequency 1, horizontal) D0/4207: 89 07 loop start (7 times) D0/4209: 83 9F move back 32 D0/420B: 8A loop end D0/420C: F7 A0 wait until scanline 160 D0/420E: AD 87 set bg3 hdma scroll type to 7 D0/4210: AE 41 update (bg3) hdma scroll data (horizontal) D0/4212: 09 [$09] D0/4213: 00 [$00] D0/4214: BD 50 hide bg3 thread D0/4216: 89 FF loop start (255 times) D0/4218: 83 61 move forward 2 D0/421A: AE 41 update (bg3) hdma scroll data (horizontal) D0/421C: 00 [$00] D0/421D: 8A loop end D0/421E: F7 A0 wait until scanline 160 D0/4220: AD 85 set bg3 hdma scroll type to 5 D0/4222: 80 24 clear bg3 hdma scroll data D0/4224: FF end of script ; [ Animation Script $0139: Snowball (sprite) ] D0/4225: 00 00 speed 1, align to bottom of character/monster D0/4227: D1 01 invalidate character/monster sprite priority D0/4229: 83 AF move up/forward 16 D0/422B: 90 20 set animation tile priority to 2 D0/422D: EB jump based on thread ($4238, $4234, $4238) D0/4234: 83 DF move up 32 D0/4236: F4 01 show sprite behind character/monster sprites D0/4238: C9 00 play default sound effect D0/423A: BF 44 42 jump to subroutine $4244 D0/423D: BF 44 42 jump to subroutine $4244 D0/4240: BF 44 42 jump to subroutine $4244 D0/4243: FF end of script D0/4244: E9 1F 1F move animation randomly (0..31,0..31) D0/4247: 89 04 loop start (4 times) D0/4249: 83 FF move up/back 32 D0/424B: 8A loop end D0/424C: 89 13 loop start (19 times) D0/424E: 83 07 move down/forward 8 D0/4250: 00 [$00] D0/4251: 8A loop end D0/4252: 80 3B change target's color palette to animation palette D0/4254: 01 [$01] D0/4255: 80 3C restore target's color palette D0/4257: 01 [$01] D0/4258: 80 3B change target's color palette to animation palette D0/425A: 01 [$01] D0/425B: 80 3C restore target's color palette D0/425D: 8B 04 animated loop start (4 times, increment frame offset each time) D0/425F: 02 [$02] D0/4260: 02 [$02] D0/4261: 02 [$02] D0/4262: 8C animated loop end D0/4263: C0 return from subroutine ; [ Animation Script $0138: Cave In, Lode Stone (sprite) ] D0/4264: 00 00 speed 1, align to bottom of character/monster D0/4266: D1 01 invalidate character/monster sprite priority D0/4268: 90 20 set animation tile priority to 2 D0/426A: 83 7F move forward 32 D0/426C: EB jump based on thread ($4273, $427D, $4287) D0/4273: BF A0 43 jump to subroutine $43A0 D0/4276: BF A0 43 jump to subroutine $43A0 D0/4279: BF DE 42 jump to subroutine $42DE D0/427C: FF end of script D0/427D: BF DE 42 jump to subroutine $42DE D0/4280: BF 91 42 jump to subroutine $4291 D0/4283: BF A0 43 jump to subroutine $43A0 D0/4286: FF end of script D0/4287: BF A0 43 jump to subroutine $43A0 D0/428A: BF DE 42 jump to subroutine $42DE D0/428D: BF DE 42 jump to subroutine $42DE D0/4290: FF end of script D0/4291: C9 00 play default sound effect D0/4293: E9 3F 00 move animation randomly (0..63,0..0) D0/4296: 89 04 loop start (4 times) D0/4298: 83 DF move up 32 D0/429A: 8A loop end D0/429B: 89 27 loop start (39 times) D0/429D: 83 23 move down 4 D0/429F: 00 [$00] D0/42A0: 8A loop end D0/42A1: 83 C4 move up 5 D0/42A3: 00 [$00] D0/42A4: 83 C3 move up 4 D0/42A6: 00 [$00] D0/42A7: 83 C2 move up 3 D0/42A9: 00 [$00] D0/42AA: 83 C2 move up 3 D0/42AC: 00 [$00] D0/42AD: 83 C1 move up 2 D0/42AF: 00 [$00] D0/42B0: 83 C1 move up 2 D0/42B2: 00 [$00] D0/42B3: 83 C1 move up 2 D0/42B5: 00 [$00] D0/42B6: 83 C0 move up 1 D0/42B8: 00 [$00] D0/42B9: 83 C0 move up 1 D0/42BB: 00 [$00] D0/42BC: 83 C0 move up 1 D0/42BE: 00 [$00] D0/42BF: 83 20 move down 1 D0/42C1: 00 [$00] D0/42C2: 83 20 move down 1 D0/42C4: 00 [$00] D0/42C5: 83 20 move down 1 D0/42C7: 00 [$00] D0/42C8: 83 21 move down 2 D0/42CA: 00 [$00] D0/42CB: 83 21 move down 2 D0/42CD: 00 [$00] D0/42CE: 83 21 move down 2 D0/42D0: 00 [$00] D0/42D1: 83 22 move down 3 D0/42D3: 00 [$00] D0/42D4: 83 22 move down 3 D0/42D6: 00 [$00] D0/42D7: 83 23 move down 4 D0/42D9: 00 [$00] D0/42DA: 83 24 move down 5 D0/42DC: 00 [$00] D0/42DD: C0 return from subroutine D0/42DE: C9 00 play default sound effect D0/42E0: E9 3F 00 move animation randomly (0..63,0..0) D0/42E3: 89 04 loop start (4 times) D0/42E5: 83 DF move up 32 D0/42E7: 8A loop end D0/42E8: 89 27 loop start (39 times) D0/42EA: 83 23 move down 4 D0/42EC: 00 [$00] D0/42ED: 8A loop end D0/42EE: 83 C4 move up 5 D0/42F0: 83 61 move forward 2 D0/42F2: 80 3B change target's color palette to animation palette D0/42F4: D6 02 00 scroll background to (2,0) D0/42F7: 00 [$00] D0/42F8: 83 C3 move up 4 D0/42FA: 83 61 move forward 2 D0/42FC: 80 3C restore target's color palette D0/42FE: D6 FE 00 scroll background to (-2,0) D0/4301: 00 [$00] D0/4302: 83 C2 move up 3 D0/4304: 83 61 move forward 2 D0/4306: 80 3B change target's color palette to animation palette D0/4308: D6 02 00 scroll background to (2,0) D0/430B: 00 [$00] D0/430C: 83 C2 move up 3 D0/430E: 83 61 move forward 2 D0/4310: 80 3C restore target's color palette D0/4312: D6 FE 00 scroll background to (-2,0) D0/4315: 00 [$00] D0/4316: 83 C1 move up 2 D0/4318: 83 61 move forward 2 D0/431A: 80 3B change target's color palette to animation palette D0/431C: D6 02 00 scroll background to (2,0) D0/431F: 00 [$00] D0/4320: 83 C1 move up 2 D0/4322: 83 61 move forward 2 D0/4324: 80 3C restore target's color palette D0/4326: D6 FE 00 scroll background to (-2,0) D0/4329: 00 [$00] D0/432A: 83 C1 move up 2 D0/432C: 83 61 move forward 2 D0/432E: 80 3B change target's color palette to animation palette D0/4330: D6 02 00 scroll background to (2,0) D0/4333: 00 [$00] D0/4334: 83 C0 move up 1 D0/4336: 83 61 move forward 2 D0/4338: 80 3C restore target's color palette D0/433A: D6 FE 00 scroll background to (-2,0) D0/433D: 00 [$00] D0/433E: 83 C0 move up 1 D0/4340: 83 61 move forward 2 D0/4342: 80 3B change target's color palette to animation palette D0/4344: D6 02 00 scroll background to (2,0) D0/4347: 00 [$00] D0/4348: 83 C0 move up 1 D0/434A: 83 61 move forward 2 D0/434C: 80 3C restore target's color palette D0/434E: D6 FE 00 scroll background to (-2,0) D0/4351: 00 [$00] D0/4352: 83 20 move down 1 D0/4354: 83 61 move forward 2 D0/4356: 80 3B change target's color palette to animation palette D0/4358: D6 02 00 scroll background to (2,0) D0/435B: 00 [$00] D0/435C: 83 20 move down 1 D0/435E: 83 61 move forward 2 D0/4360: 80 3C restore target's color palette D0/4362: D6 FE 00 scroll background to (-2,0) D0/4365: 00 [$00] D0/4366: 83 20 move down 1 D0/4368: 83 61 move forward 2 D0/436A: 80 3B change target's color palette to animation palette D0/436C: D6 02 00 scroll background to (2,0) D0/436F: 00 [$00] D0/4370: 83 21 move down 2 D0/4372: 83 61 move forward 2 D0/4374: 80 3C restore target's color palette D0/4376: D6 FE 00 scroll background to (-2,0) D0/4379: 00 [$00] D0/437A: 83 21 move down 2 D0/437C: 83 61 move forward 2 D0/437E: D6 00 00 scroll background to (0,0) D0/4381: 00 [$00] D0/4382: 83 21 move down 2 D0/4384: 83 61 move forward 2 D0/4386: 00 [$00] D0/4387: 83 22 move down 3 D0/4389: 83 61 move forward 2 D0/438B: 00 [$00] D0/438C: 83 22 move down 3 D0/438E: 83 61 move forward 2 D0/4390: 00 [$00] D0/4391: 83 23 move down 4 D0/4393: 83 61 move forward 2 D0/4395: 00 [$00] D0/4396: 83 24 move down 5 D0/4398: 83 61 move forward 2 D0/439A: 00 [$00] D0/439B: 83 93 move back 20 D0/439D: 83 93 move back 20 D0/439F: C0 return from subroutine D0/43A0: C9 00 play default sound effect D0/43A2: E9 3F 00 move animation randomly (0..63,0..0) D0/43A5: 89 04 loop start (4 times) D0/43A7: 83 DF move up 32 D0/43A9: 8A loop end D0/43AA: 89 27 loop start (39 times) D0/43AC: 83 23 move down 4 D0/43AE: 00 [$00] D0/43AF: 8A loop end D0/43B0: 83 C4 move up 5 D0/43B2: 83 81 move back 2 D0/43B4: 00 [$00] D0/43B5: 83 C3 move up 4 D0/43B7: 83 81 move back 2 D0/43B9: 00 [$00] D0/43BA: 83 C2 move up 3 D0/43BC: 83 81 move back 2 D0/43BE: 00 [$00] D0/43BF: 83 C2 move up 3 D0/43C1: 83 81 move back 2 D0/43C3: 00 [$00] D0/43C4: 83 C1 move up 2 D0/43C6: 83 81 move back 2 D0/43C8: 00 [$00] D0/43C9: 83 C1 move up 2 D0/43CB: 83 81 move back 2 D0/43CD: 00 [$00] D0/43CE: 83 C1 move up 2 D0/43D0: 83 81 move back 2 D0/43D2: 00 [$00] D0/43D3: 83 C0 move up 1 D0/43D5: 83 81 move back 2 D0/43D7: 00 [$00] D0/43D8: 83 C0 move up 1 D0/43DA: 83 81 move back 2 D0/43DC: 00 [$00] D0/43DD: 83 C0 move up 1 D0/43DF: 83 81 move back 2 D0/43E1: 00 [$00] D0/43E2: 83 20 move down 1 D0/43E4: 83 81 move back 2 D0/43E6: 00 [$00] D0/43E7: 83 20 move down 1 D0/43E9: 83 81 move back 2 D0/43EB: 00 [$00] D0/43EC: 83 20 move down 1 D0/43EE: 83 81 move back 2 D0/43F0: 00 [$00] D0/43F1: 83 21 move down 2 D0/43F3: 83 81 move back 2 D0/43F5: 00 [$00] D0/43F6: 83 21 move down 2 D0/43F8: 83 81 move back 2 D0/43FA: 00 [$00] D0/43FB: 83 21 move down 2 D0/43FD: 83 81 move back 2 D0/43FF: 00 [$00] D0/4400: 83 22 move down 3 D0/4402: 83 81 move back 2 D0/4404: 00 [$00] D0/4405: 83 22 move down 3 D0/4407: 83 81 move back 2 D0/4409: 00 [$00] D0/440A: 83 23 move down 4 D0/440C: 83 81 move back 2 D0/440E: 00 [$00] D0/440F: 83 24 move down 5 D0/4411: 83 81 move back 2 D0/4413: 00 [$00] D0/4414: 83 73 move forward 20 D0/4416: 83 73 move forward 20 D0/4418: C0 return from subroutine ; [ Animation Script $0137: Plasma (sprite) ] D0/4419: 00 00 speed 1, align to bottom of character/monster D0/441B: D1 01 invalidate character/monster sprite priority D0/441D: 80 16 command $80/$16 D0/441F: EB jump based on thread ($444A, $4442, $4426) D0/4426: AF C0 set background color subtraction to 0 (blue) D0/4428: 89 0F loop start (15 times) D0/442A: B6 C1 increase background color subtraction by 1 (blue) D0/442C: A4 17 B1 shift colors (1..8) of sprite animation palette right (11 loops per shift) D0/442F: 1F [---] D0/4430: 8A loop end D0/4431: 89 A0 loop start (160 times) D0/4433: A4 17 B1 shift colors (1..8) of sprite animation palette right (11 loops per shift) D0/4436: 1F [---] D0/4437: 8A loop end D0/4438: 89 0F loop start (15 times) D0/443A: B6 D1 decrease background color subtraction by 1 (blue) D0/443C: A4 17 B1 shift colors (1..8) of sprite animation palette right (11 loops per shift) D0/443F: 1F [---] D0/4440: 8A loop end D0/4441: FF end of script D0/4442: C9 00 play default sound effect D0/4444: EF 60 40 move in flattened polar coordinates (96,64) D0/4447: FA 51 44 jump to $4451 D0/444A: 89 07 loop start (7 times) D0/444C: 1F [---] D0/444D: 8A loop end D0/444E: EF 60 C0 move in flattened polar coordinates (96,-64) D0/4451: 80 21 update sprite layer priority based on polar movement angle D0/4453: EF 00 00 move in flattened polar coordinates (0,0) D0/4456: 00 [$00] D0/4457: 00 [$00] D0/4458: 00 [$00] D0/4459: 00 [$00] D0/445A: 01 [$01] D0/445B: 01 [$01] D0/445C: 01 [$01] D0/445D: 01 [$01] D0/445E: 02 [$02] D0/445F: 02 [$02] D0/4460: 02 [$02] D0/4461: 02 [$02] D0/4462: BF 6F 44 jump to subroutine $446F D0/4465: BF 6F 44 jump to subroutine $446F D0/4468: BF 7C 44 jump to subroutine $447C D0/446B: BF 7C 44 jump to subroutine $447C D0/446E: FF end of script D0/446F: 89 1F loop start (31 times) D0/4471: 80 21 update sprite layer priority based on polar movement angle D0/4473: EF 00 04 move in flattened polar coordinates (0,4) D0/4476: 03 [$03] D0/4477: 8A loop end D0/4478: EF 00 80 move in flattened polar coordinates (0,-128) D0/447B: C0 return from subroutine D0/447C: 89 1F loop start (31 times) D0/447E: 80 21 update sprite layer priority based on polar movement angle D0/4480: EF 00 04 move in flattened polar coordinates (0,4) D0/4483: 83 C2 move up 3 D0/4485: 03 [$03] D0/4486: 8A loop end D0/4487: EF 00 80 move in flattened polar coordinates (0,-128) D0/448A: C0 return from subroutine ; [ Animation Script $0135: El Nino (sprite) ] D0/448B: 20 20 speed 3, align to center of character/monster D0/448D: 90 20 set animation tile priority to 2 D0/448F: D1 01 invalidate character/monster sprite priority D0/4491: 89 0F loop start (15 times) D0/4493: 1F [---] D0/4494: 8A loop end D0/4495: EB jump based on thread ($496C, $4973, $497A, $4527) ; [ Animation Script $0136: El Nino (bg1) ] D0/449E: 00 20 speed 1, align to center of character/monster D0/44A0: C4 80 move bg1 thread to this thread's position D0/44A2: D0 20 set tile priority to 2 for all character/monster sprites D0/44A4: F7 A0 wait until scanline 160 D0/44A6: D4 02 01 12 add (sprites, bg2) to (bg1) D0/44AA: CC FF set bg1 animation palette color subtraction to 31 (black) D0/44AC: EA 81 set bg1 tile data quadrant to 1 D0/44AE: 00 [$00] D0/44AF: 00 [$00] D0/44B0: BD A0 hide bg1 thread D0/44B2: C9 00 play default sound effect D0/44B4: 89 0F loop start (15 times) D0/44B6: CF F2 decrease bg1 animation palette color subtraction by 2 (black) D0/44B8: 83 60 move forward 1 D0/44BA: F7 C8 wait until scanline 200 D0/44BC: 80 33 00 update rainbow gradient lines (intensity 15) D0/44BF: 00 [$00] D0/44C0: 8A loop end D0/44C1: CD E0 set bg1 animation palette color addition to 0 (white) D0/44C3: 89 0F loop start (15 times) D0/44C5: CE E2 increase bg1 animation palette color addition by 2 (white) D0/44C7: 83 60 move forward 1 D0/44C9: F7 C8 wait until scanline 200 D0/44CB: 80 33 00 update rainbow gradient lines (intensity 15) D0/44CE: 00 [$00] D0/44CF: 8A loop end D0/44D0: F7 A0 wait until scanline 160 D0/44D2: D4 00 01 12 add fixed color to (bg1) D0/44D6: 89 0F loop start (15 times) D0/44D8: CE F2 decrease bg1 animation palette color addition by 2 (white) D0/44DA: 83 60 move forward 1 D0/44DC: F7 C8 wait until scanline 200 D0/44DE: 80 33 00 update rainbow gradient lines (intensity 15) D0/44E1: 00 [$00] D0/44E2: 8A loop end D0/44E3: 89 20 loop start (32 times) D0/44E5: 83 60 move forward 1 D0/44E7: F7 C8 wait until scanline 200 D0/44E9: 80 33 00 update rainbow gradient lines (intensity 15) D0/44EC: 00 [$00] D0/44ED: 8A loop end D0/44EE: 89 0F loop start (15 times) D0/44F0: CE E2 increase bg1 animation palette color addition by 2 (white) D0/44F2: 83 60 move forward 1 D0/44F4: F7 C8 wait until scanline 200 D0/44F6: 80 33 00 update rainbow gradient lines (intensity 15) D0/44F9: 00 [$00] D0/44FA: 8A loop end D0/44FB: F7 A0 wait until scanline 160 D0/44FD: D4 02 01 12 add (sprites, bg2) to (bg1) D0/4501: 89 0F loop start (15 times) D0/4503: CE F2 decrease bg1 animation palette color addition by 2 (white) D0/4505: 83 60 move forward 1 D0/4507: F7 C8 wait until scanline 200 D0/4509: 80 33 00 update rainbow gradient lines (intensity 15) D0/450C: 00 [$00] D0/450D: 8A loop end D0/450E: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/4510: 89 0F loop start (15 times) D0/4512: CF E2 increase bg1 animation palette color subtraction by 2 (black) D0/4514: 83 60 move forward 1 D0/4516: F7 C8 wait until scanline 200 D0/4518: 80 33 00 update rainbow gradient lines (intensity 15) D0/451B: 00 [$00] D0/451C: 8A loop end D0/451D: 80 3E 12 enable (sprites, bg2) in main screen D0/4520: 80 37 clear fixed color value hdma data D0/4522: BD 80 show bg1 thread D0/4524: EA 81 set bg1 tile data quadrant to 1 D0/4526: 00 [$00] D0/4527: FF end of script ; [ Animation Script $0134: Sonic Boom, Shimsham (sprite) ] D0/4528: 00 20 speed 1, align to center of character/monster D0/452A: 85 move to attacker position D0/452B: 95 calculate vector from attacker to target D0/452C: 93 08 move to vector position 8 D0/452E: EB jump based on thread ($4535, $4549, $455B) D0/4535: C9 62 play sound effect $62 D0/4537: 98 01 07 increment frame offset every 1 loops (0..7) D0/453A: 00 [$00] D0/453B: 92 08 06 move along vector at speed 8, branch to $4537 D0/453E: 80 4E clear frame offset D0/4540: C9 00 play default sound effect D0/4542: 84 03 set animation speed to 4 D0/4544: 8B 17 animated loop start (23 times, increment frame offset each time) D0/4546: 00 [$00] D0/4547: 8C animated loop end D0/4548: FF end of script D0/4549: 98 01 07 increment frame offset every 1 loops (0..7) D0/454C: 00 [$00] D0/454D: 92 08 06 move along vector at speed 8, branch to $4549 D0/4550: 80 4E clear frame offset D0/4552: 89 07 loop start (7 times) D0/4554: 80 3B change target's color palette to animation palette D0/4556: 1F [---] D0/4557: 80 3C restore target's color palette D0/4559: 1F [---] D0/455A: 8A loop end D0/455B: 98 01 07 increment frame offset every 1 loops (0..7) D0/455E: 00 [$00] D0/455F: 92 08 06 move along vector at speed 8, branch to $455B D0/4562: FF end of script ; [ Animation Script $0132: Land Slide (sprite) ] D0/4563: 00 00 speed 1, align to bottom of character/monster D0/4565: BD A0 hide bg1 thread D0/4567: 90 20 set animation tile priority to 2 D0/4569: 83 7F move forward 32 D0/456B: EB jump based on thread ($457C, $459C, $4588, $4592, $4592, $4588, $459C, $457E) D0/457C: C9 00 play default sound effect D0/457E: BF A6 45 jump to subroutine $45A6 D0/4581: BF 7A 46 jump to subroutine $467A D0/4584: BF 00 46 jump to subroutine $4600 D0/4587: FF end of script D0/4588: BF 2D 46 jump to subroutine $462D D0/458B: BF D3 45 jump to subroutine $45D3 D0/458E: BF 7A 46 jump to subroutine $467A D0/4591: FF end of script D0/4592: BF D3 45 jump to subroutine $45D3 D0/4595: BF 00 46 jump to subroutine $4600 D0/4598: BF B7 46 jump to subroutine $46B7 D0/459B: FF end of script D0/459C: BF B7 46 jump to subroutine $46B7 D0/459F: BF 2D 46 jump to subroutine $462D D0/45A2: BF 00 46 jump to subroutine $4600 D0/45A5: FF end of script D0/45A6: E9 3F 00 move animation randomly (0..63,0..0) D0/45A9: 89 04 loop start (4 times) D0/45AB: 83 DF move up 32 D0/45AD: 8A loop end D0/45AE: 89 27 loop start (39 times) D0/45B0: 83 23 move down 4 D0/45B2: 00 [$00] D0/45B3: 8A loop end D0/45B4: 83 C3 move up 4 D0/45B6: 00 [$00] D0/45B7: 83 C2 move up 3 D0/45B9: 00 [$00] D0/45BA: 83 C1 move up 2 D0/45BC: 00 [$00] D0/45BD: 83 C0 move up 1 D0/45BF: 00 [$00] D0/45C0: 83 C0 move up 1 D0/45C2: 00 [$00] D0/45C3: 83 20 move down 1 D0/45C5: 00 [$00] D0/45C6: 83 20 move down 1 D0/45C8: 00 [$00] D0/45C9: 83 21 move down 2 D0/45CB: 00 [$00] D0/45CC: 83 22 move down 3 D0/45CE: 00 [$00] D0/45CF: 83 23 move down 4 D0/45D1: 00 [$00] D0/45D2: C0 return from subroutine D0/45D3: E9 3F 00 move animation randomly (0..63,0..0) D0/45D6: 89 04 loop start (4 times) D0/45D8: 83 DF move up 32 D0/45DA: 8A loop end D0/45DB: 89 27 loop start (39 times) D0/45DD: 83 23 move down 4 D0/45DF: 01 [$01] D0/45E0: 8A loop end D0/45E1: 83 C3 move up 4 D0/45E3: 01 [$01] D0/45E4: 83 C2 move up 3 D0/45E6: 01 [$01] D0/45E7: 83 C1 move up 2 D0/45E9: 01 [$01] D0/45EA: 83 C0 move up 1 D0/45EC: 01 [$01] D0/45ED: 83 C0 move up 1 D0/45EF: 01 [$01] D0/45F0: 83 20 move down 1 D0/45F2: 01 [$01] D0/45F3: 83 20 move down 1 D0/45F5: 01 [$01] D0/45F6: 83 21 move down 2 D0/45F8: 01 [$01] D0/45F9: 83 22 move down 3 D0/45FB: 01 [$01] D0/45FC: 83 23 move down 4 D0/45FE: 01 [$01] D0/45FF: C0 return from subroutine D0/4600: E9 3F 00 move animation randomly (0..63,0..0) D0/4603: 89 04 loop start (4 times) D0/4605: 83 DF move up 32 D0/4607: 8A loop end D0/4608: 89 27 loop start (39 times) D0/460A: 83 23 move down 4 D0/460C: 02 [$02] D0/460D: 8A loop end D0/460E: 83 C3 move up 4 D0/4610: 02 [$02] D0/4611: 83 C2 move up 3 D0/4613: 02 [$02] D0/4614: 83 C1 move up 2 D0/4616: 02 [$02] D0/4617: 83 C0 move up 1 D0/4619: 02 [$02] D0/461A: 83 C0 move up 1 D0/461C: 02 [$02] D0/461D: 83 20 move down 1 D0/461F: 02 [$02] D0/4620: 83 20 move down 1 D0/4622: 02 [$02] D0/4623: 83 21 move down 2 D0/4625: 02 [$02] D0/4626: 83 22 move down 3 D0/4628: 02 [$02] D0/4629: 83 23 move down 4 D0/462B: 02 [$02] D0/462C: C0 return from subroutine D0/462D: E9 3F 00 move animation randomly (0..63,0..0) D0/4630: 89 04 loop start (4 times) D0/4632: 83 DF move up 32 D0/4634: 8A loop end D0/4635: 89 27 loop start (39 times) D0/4637: 83 23 move down 4 D0/4639: 03 [$03] D0/463A: 8A loop end D0/463B: 83 C3 move up 4 D0/463D: 83 60 move forward 1 D0/463F: 80 3B change target's color palette to animation palette D0/4641: 03 [$03] D0/4642: 83 C2 move up 3 D0/4644: 83 60 move forward 1 D0/4646: 80 3C restore target's color palette D0/4648: 03 [$03] D0/4649: 83 C1 move up 2 D0/464B: 83 60 move forward 1 D0/464D: 80 3B change target's color palette to animation palette D0/464F: 03 [$03] D0/4650: 83 C0 move up 1 D0/4652: 83 60 move forward 1 D0/4654: 80 3C restore target's color palette D0/4656: 03 [$03] D0/4657: 83 C0 move up 1 D0/4659: 83 60 move forward 1 D0/465B: 80 3B change target's color palette to animation palette D0/465D: 03 [$03] D0/465E: 83 20 move down 1 D0/4660: 83 60 move forward 1 D0/4662: 80 3C restore target's color palette D0/4664: 03 [$03] D0/4665: 83 20 move down 1 D0/4667: 83 60 move forward 1 D0/4669: 80 3B change target's color palette to animation palette D0/466B: 03 [$03] D0/466C: 83 21 move down 2 D0/466E: 83 60 move forward 1 D0/4670: 80 3C restore target's color palette D0/4672: 03 [$03] D0/4673: 83 22 move down 3 D0/4675: 03 [$03] D0/4676: 83 23 move down 4 D0/4678: 03 [$03] D0/4679: C0 return from subroutine D0/467A: E9 3F 00 move animation randomly (0..63,0..0) D0/467D: 89 04 loop start (4 times) D0/467F: 83 DF move up 32 D0/4681: 8A loop end D0/4682: 89 27 loop start (39 times) D0/4684: 83 23 move down 4 D0/4686: 03 [$03] D0/4687: 8A loop end D0/4688: 83 C3 move up 4 D0/468A: 83 60 move forward 1 D0/468C: 03 [$03] D0/468D: 83 C2 move up 3 D0/468F: 83 60 move forward 1 D0/4691: 03 [$03] D0/4692: 83 C1 move up 2 D0/4694: 83 60 move forward 1 D0/4696: 03 [$03] D0/4697: 83 C0 move up 1 D0/4699: 83 60 move forward 1 D0/469B: 03 [$03] D0/469C: 83 C0 move up 1 D0/469E: 83 60 move forward 1 D0/46A0: 03 [$03] D0/46A1: 83 20 move down 1 D0/46A3: 83 60 move forward 1 D0/46A5: 03 [$03] D0/46A6: 83 20 move down 1 D0/46A8: 83 60 move forward 1 D0/46AA: 03 [$03] D0/46AB: 83 21 move down 2 D0/46AD: 83 60 move forward 1 D0/46AF: 03 [$03] D0/46B0: 83 22 move down 3 D0/46B2: 03 [$03] D0/46B3: 83 23 move down 4 D0/46B5: 03 [$03] D0/46B6: C0 return from subroutine D0/46B7: E9 3F 00 move animation randomly (0..63,0..0) D0/46BA: 89 04 loop start (4 times) D0/46BC: 83 DF move up 32 D0/46BE: 8A loop end D0/46BF: 89 27 loop start (39 times) D0/46C1: 83 23 move down 4 D0/46C3: 03 [$03] D0/46C4: 8A loop end D0/46C5: 83 C3 move up 4 D0/46C7: 83 80 move back 1 D0/46C9: 03 [$03] D0/46CA: 83 C2 move up 3 D0/46CC: 83 80 move back 1 D0/46CE: 03 [$03] D0/46CF: 83 C1 move up 2 D0/46D1: 83 80 move back 1 D0/46D3: 03 [$03] D0/46D4: 83 C0 move up 1 D0/46D6: 83 80 move back 1 D0/46D8: 03 [$03] D0/46D9: 83 C0 move up 1 D0/46DB: 83 80 move back 1 D0/46DD: 03 [$03] D0/46DE: 83 20 move down 1 D0/46E0: 83 80 move back 1 D0/46E2: 03 [$03] D0/46E3: 83 20 move down 1 D0/46E5: 83 80 move back 1 D0/46E7: 03 [$03] D0/46E8: 83 21 move down 2 D0/46EA: 83 80 move back 1 D0/46EC: 03 [$03] D0/46ED: 83 22 move down 3 D0/46EF: 03 [$03] D0/46F0: 83 23 move down 4 D0/46F2: 03 [$03] D0/46F3: C0 return from subroutine ; [ Animation Script $0131: Specter (sprite) ] D0/46F4: 20 20 speed 3, align to center of character/monster D0/46F6: FA 63 47 jump to $4763 ; [ Animation Script $0130: Specter (bg1) ] D0/46F9: 20 20 speed 3, align to center of character/monster D0/46FB: 80 16 command $80/$16 D0/46FD: EF 20 60 move in flattened polar coordinates (32,96) D0/4700: 89 0A loop start (10 times) D0/4702: EF 01 01 move in flattened polar coordinates (1,1) D0/4705: 83 C0 move up 1 D0/4707: 00 [$00] D0/4708: 8A loop end D0/4709: 89 0A loop start (10 times) D0/470B: EF FF 01 move in flattened polar coordinates (-1,1) D0/470E: 83 C0 move up 1 D0/4710: 01 [$01] D0/4711: 8A loop end D0/4712: 89 0A loop start (10 times) D0/4714: EF 01 01 move in flattened polar coordinates (1,1) D0/4717: 83 20 move down 1 D0/4719: 00 [$00] D0/471A: 8A loop end D0/471B: 89 0A loop start (10 times) D0/471D: EF 01 01 move in flattened polar coordinates (1,1) D0/4720: 83 20 move down 1 D0/4722: 01 [$01] D0/4723: 8A loop end D0/4724: FF end of script ; [ Animation Script $012E: Wind Slash, Gale Cut (sprite) ] D0/4725: 30 20 speed 4, align to center of character/monster D0/4727: 89 07 loop start (7 times) D0/4729: 1F [---] D0/472A: 8A loop end D0/472B: 8B 16 animated loop start (22 times, increment frame offset each time) D0/472D: 00 [$00] D0/472E: 8C animated loop end D0/472F: FF end of script ; [ Animation Script $012F: Wind Slash, Gale Cut (bg1) ] D0/4730: 00 20 speed 1, align to center of character/monster D0/4732: D1 01 invalidate character/monster sprite priority D0/4734: C4 80 move bg1 thread to this thread's position D0/4736: D0 20 set tile priority to 2 for all character/monster sprites D0/4738: CC FF set bg1 animation palette color subtraction to 31 (black) D0/473A: F7 A0 wait until scanline 160 D0/473C: D4 02 01 12 add (sprites, bg2) to (bg1) D0/4740: 00 [$00] D0/4741: BD A0 hide bg1 thread D0/4743: C9 00 play default sound effect D0/4745: 89 1F loop start (31 times) D0/4747: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/4749: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/474C: 00 [$00] D0/474D: 8A loop end D0/474E: 89 80 loop start (128 times) D0/4750: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/4753: 00 [$00] D0/4754: 8A loop end D0/4755: 89 1F loop start (31 times) D0/4757: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/4759: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/475C: 00 [$00] D0/475D: 8A loop end D0/475E: FF end of script ; [ Animation Script $012C: Elf Fire, Fire Wall (sprite) ] D0/475F: 20 20 speed 3, align to center of character/monster D0/4761: 90 00 set animation tile priority to 0 D0/4763: D1 01 invalidate character/monster sprite priority D0/4765: 80 16 command $80/$16 D0/4767: EB jump based on thread ($4778, $4787, $4794, $47A1, $47AE, $47BB, $47C8, $47D5) D0/4778: C9 00 play default sound effect D0/477A: EF 40 00 move in flattened polar coordinates (64,0) D0/477D: BF DF 47 jump to subroutine $47DF D0/4780: BF EC 47 jump to subroutine $47EC D0/4783: BF 08 48 jump to subroutine $4808 D0/4786: FF end of script D0/4787: EF 40 2F move in flattened polar coordinates (64,47) D0/478A: BF 08 48 jump to subroutine $4808 D0/478D: BF 08 48 jump to subroutine $4808 D0/4790: BF F9 47 jump to subroutine $47F9 D0/4793: FF end of script D0/4794: EF 40 3D move in flattened polar coordinates (64,61) D0/4797: BF EC 47 jump to subroutine $47EC D0/479A: BF F9 47 jump to subroutine $47F9 D0/479D: BF 08 48 jump to subroutine $4808 D0/47A0: FF end of script D0/47A1: EF 40 68 move in flattened polar coordinates (64,104) D0/47A4: BF EC 47 jump to subroutine $47EC D0/47A7: BF DF 47 jump to subroutine $47DF D0/47AA: BF F9 47 jump to subroutine $47F9 D0/47AD: FF end of script D0/47AE: EF 40 82 move in flattened polar coordinates (64,-126) D0/47B1: BF EC 47 jump to subroutine $47EC D0/47B4: BF DF 47 jump to subroutine $47DF D0/47B7: BF F9 47 jump to subroutine $47F9 D0/47BA: FF end of script D0/47BB: EF 40 A0 move in flattened polar coordinates (64,-96) D0/47BE: BF 08 48 jump to subroutine $4808 D0/47C1: BF DF 47 jump to subroutine $47DF D0/47C4: BF F9 47 jump to subroutine $47F9 D0/47C7: FF end of script D0/47C8: EF 40 C6 move in flattened polar coordinates (64,-58) D0/47CB: BF EC 47 jump to subroutine $47EC D0/47CE: BF DF 47 jump to subroutine $47DF D0/47D1: BF 08 48 jump to subroutine $4808 D0/47D4: FF end of script D0/47D5: BF DF 47 jump to subroutine $47DF D0/47D8: BF EC 47 jump to subroutine $47EC D0/47DB: BF 08 48 jump to subroutine $4808 D0/47DE: FF end of script D0/47DF: 89 0F loop start (15 times) D0/47E1: EF 01 01 move in flattened polar coordinates (1,1) D0/47E4: 98 03 04 increment frame offset every 3 loops (0..4) D0/47E7: 80 21 update sprite layer priority based on polar movement angle D0/47E9: 00 [$00] D0/47EA: 8A loop end D0/47EB: C0 return from subroutine D0/47EC: 89 0F loop start (15 times) D0/47EE: EF FF 01 move in flattened polar coordinates (-1,1) D0/47F1: 98 03 04 increment frame offset every 3 loops (0..4) D0/47F4: 80 21 update sprite layer priority based on polar movement angle D0/47F6: 00 [$00] D0/47F7: 8A loop end D0/47F8: C0 return from subroutine D0/47F9: 89 0F loop start (15 times) D0/47FB: EF 00 01 move in flattened polar coordinates (0,1) D0/47FE: 98 03 04 increment frame offset every 3 loops (0..4) D0/4801: 83 20 move down 1 D0/4803: 80 21 update sprite layer priority based on polar movement angle D0/4805: 00 [$00] D0/4806: 8A loop end D0/4807: C0 return from subroutine D0/4808: 89 0F loop start (15 times) D0/480A: EF 00 01 move in flattened polar coordinates (0,1) D0/480D: 98 03 04 increment frame offset every 3 loops (0..4) D0/4810: 80 21 update sprite layer priority based on polar movement angle D0/4812: 83 C0 move up 1 D0/4814: 00 [$00] D0/4815: 8A loop end D0/4816: C0 return from subroutine ; [ Animation Script $012B: Antlion (bg1) ] D0/4817: 00 00 speed 1, align to bottom of character/monster D0/4819: EE 20 set target sprite tile priority to 2 D0/481B: D1 01 invalidate character/monster sprite priority D0/481D: CC FF set bg1 animation palette color subtraction to 31 (black) D0/481F: 89 08 loop start (8 times) D0/4821: 83 2F move down 16 D0/4823: 8A loop end D0/4824: 00 [$00] D0/4825: BD A0 hide bg1 thread D0/4827: C9 00 play default sound effect D0/4829: 89 1F loop start (31 times) D0/482B: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/482D: A3 16 32 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/4830: 00 [$00] D0/4831: 8A loop end D0/4832: 80 72 08 branch to $483D if attack hit D0/4835: 89 7F loop start (127 times) D0/4837: A3 16 32 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/483A: 00 [$00] D0/483B: 8A loop end D0/483C: FF end of script D0/483D: 89 7F loop start (127 times) D0/483F: A3 16 32 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/4842: 87 20 move target down 1 D0/4844: 00 [$00] D0/4845: BD A0 hide bg1 thread D0/4847: 8A loop end D0/4848: F1 80 hide target monster sprite D0/484A: 89 1F loop start (31 times) D0/484C: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/484E: A3 16 32 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/4851: 00 [$00] D0/4852: 8A loop end D0/4853: 89 03 loop start (3 times) D0/4855: 87 DF move target up 32 D0/4857: 8A loop end D0/4858: FF end of script ; [ Animation Script $012A: Sand Storm, BabaBreath (bg1) ] D0/4859: 00 20 speed 1, align to center of character/monster D0/485B: D1 01 invalidate character/monster sprite priority D0/485D: C4 80 move bg1 thread to this thread's position D0/485F: D0 20 set tile priority to 2 for all character/monster sprites D0/4861: CC FF set bg1 animation palette color subtraction to 31 (black) D0/4863: 00 [$00] D0/4864: BD A0 hide bg1 thread D0/4866: C9 00 play default sound effect D0/4868: 89 1F loop start (31 times) D0/486A: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/486C: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/486F: 00 [$00] D0/4870: 8A loop end D0/4871: 89 40 loop start (64 times) D0/4873: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/4876: 00 [$00] D0/4877: 8A loop end D0/4878: 89 1F loop start (31 times) D0/487A: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/487C: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/487F: 00 [$00] D0/4880: 8A loop end D0/4881: FF end of script ; [ Animation Script $0128: Harvester (sprite) ] D0/4882: 30 20 speed 4, align to center of character/monster D0/4884: 89 07 loop start (7 times) D0/4886: 1F [---] D0/4887: 8A loop end D0/4888: 83 BF move up/forward 32 D0/488A: E9 1F 1F move animation randomly (0..31,0..31) D0/488D: 8B 07 animated loop start (7 times, increment frame offset each time) D0/488F: 00 [$00] D0/4890: 8C animated loop end D0/4891: 89 04 loop start (4 times) D0/4893: 08 [$08] D0/4894: 09 [$09] D0/4895: 8A loop end D0/4896: FF end of script ; [ Animation Script $012D: Harvester, Scar Beam (bg3) ] D0/4897: 00 20 speed 1, align to center of character/monster D0/4899: C4 40 move bg3 thread to this thread's position D0/489B: AA FF set bg3 animation palette color subtraction to 31 (black) D0/489D: F7 A0 wait until scanline 160 D0/489F: EA 41 set bg3 tile data quadrant to 1 D0/48A1: 00 [$00] D0/48A2: 00 [$00] D0/48A3: BD 50 hide bg3 thread D0/48A5: 89 1F loop start (31 times) D0/48A7: B4 F1 decrease bg3 animation palette color subtraction by 1 (black) D0/48A9: 83 61 move forward 2 D0/48AB: 00 [$00] D0/48AC: 8A loop end D0/48AD: 89 80 loop start (128 times) D0/48AF: 83 61 move forward 2 D0/48B1: 00 [$00] D0/48B2: 8A loop end D0/48B3: 89 1F loop start (31 times) D0/48B5: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/48B7: 83 61 move forward 2 D0/48B9: 00 [$00] D0/48BA: 8A loop end D0/48BB: BD 40 show bg3 thread D0/48BD: EA 41 set bg3 tile data quadrant to 1 D0/48BF: 09 [$09] D0/48C0: FF end of script ; [ Animation Script $0129: Harvester, Scar Beam (bg1) ] D0/48C1: 00 20 speed 1, align to center of character/monster D0/48C3: D1 01 invalidate character/monster sprite priority D0/48C5: C4 80 move bg1 thread to this thread's position D0/48C7: CC FF set bg1 animation palette color subtraction to 31 (black) D0/48C9: F7 A0 wait until scanline 160 D0/48CB: D4 02 05 12 add (sprites, bg2) to (bg3, bg1) D0/48CF: EA 81 set bg1 tile data quadrant to 1 D0/48D1: 00 [$00] D0/48D2: 00 [$00] D0/48D3: C9 00 play default sound effect D0/48D5: BD A0 hide bg1 thread D0/48D7: 89 1F loop start (31 times) D0/48D9: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/48DB: 83 60 move forward 1 D0/48DD: 00 [$00] D0/48DE: 8A loop end D0/48DF: 89 80 loop start (128 times) D0/48E1: 83 60 move forward 1 D0/48E3: 00 [$00] D0/48E4: 8A loop end D0/48E5: 89 1F loop start (31 times) D0/48E7: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/48E9: 83 60 move forward 1 D0/48EB: 00 [$00] D0/48EC: 8A loop end D0/48ED: BD 80 show bg1 thread D0/48EF: EA 81 set bg1 tile data quadrant to 1 D0/48F1: 0F [$0F] D0/48F2: FF end of script ; [ Animation Script $0126: Rage (bg1) ] D0/48F3: 00 20 speed 1, align to center of character/monster D0/48F5: D1 01 invalidate character/monster sprite priority D0/48F7: D0 20 set tile priority to 2 for all character/monster sprites D0/48F9: F7 A0 wait until scanline 160 D0/48FB: 80 3E 12 enable (sprites, bg2) in main screen D0/48FE: AD 06 set bg1 hdma scroll type to 6 D0/4900: 0F [$0F] D0/4901: F7 A0 wait until scanline 160 D0/4903: AD 87 set bg3 hdma scroll type to 7 D0/4905: 0F [$0F] D0/4906: AC BF 47 set (bg3, bg1) hdma scroll data (amplitude 7, frequency 31, horizontal) D0/4909: C4 80 move bg1 thread to this thread's position D0/490B: C9 00 play default sound effect D0/490D: 89 07 loop start (7 times) D0/490F: 83 9F move back 32 D0/4911: 8A loop end D0/4912: F7 A0 wait until scanline 160 D0/4914: 80 3E 17 enable (sprites, bg3, bg2, bg1) in main screen D0/4917: 89 E0 loop start (224 times) D0/4919: 98 03 03 increment frame offset every 3 loops (0..3) D0/491C: 83 61 move forward 2 D0/491E: AE 45 update (bg3, bg1) hdma scroll data (horizontal) D0/4920: 00 [$00] D0/4921: 8A loop end D0/4922: 80 4E clear frame offset D0/4924: F7 A0 wait until scanline 160 D0/4926: 80 3E 12 enable (sprites, bg2) in main screen D0/4929: AD 03 set bg1 hdma scroll type to 3 D0/492B: 0F [$0F] D0/492C: F7 A0 wait until scanline 160 D0/492E: AD 85 set bg3 hdma scroll type to 5 D0/4930: 80 25 clear bg1 hdma scroll data D0/4932: 80 24 clear bg3 hdma scroll data D0/4934: FF end of script ; [ Animation Script $0127: Rage, Inviz Edge (bg3) ] D0/4935: 00 20 speed 1, align to center of character/monster D0/4937: C4 40 move bg3 thread to this thread's position D0/4939: 89 07 loop start (7 times) D0/493B: 83 9F move back 32 D0/493D: 8A loop end D0/493E: 89 E0 loop start (224 times) D0/4940: 98 03 03 increment frame offset every 3 loops (0..3) D0/4943: 83 61 move forward 2 D0/4945: 00 [$00] D0/4946: 8A loop end D0/4947: FF end of script ; [ Animation Script $0125: Sun Bath (extra) ] D0/4948: 00 20 speed 1, align to center of character/monster D0/494A: C9 00 play default sound effect D0/494C: B0 C0 set background color addition to 0 (yellow) D0/494E: 89 0F loop start (15 times) D0/4950: B5 C1 increase background color addition by 1 (yellow) D0/4952: 1F [---] D0/4953: 8A loop end D0/4954: 89 40 loop start (64 times) D0/4956: 1F [---] D0/4957: 8A loop end D0/4958: 89 0F loop start (15 times) D0/495A: B5 D1 decrease background color addition by 1 (yellow) D0/495C: 1F [---] D0/495D: 8A loop end D0/495E: FF end of script ; [ Animation Script $0124: Sun Bath (sprite) ] D0/495F: 20 20 speed 3, align to center of character/monster D0/4961: D1 01 invalidate character/monster sprite priority D0/4963: EB jump based on thread ($496C, $4973, $497A, $4981) D0/496C: 83 83 move back 4 D0/496E: 83 CB move up 12 D0/4970: FA 85 49 jump to $4985 D0/4973: 83 23 move down 4 D0/4975: 83 8B move back 12 D0/4977: FA 85 49 jump to $4985 D0/497A: 83 63 move forward 4 D0/497C: 83 2B move down 12 D0/497E: FA 85 49 jump to $4985 D0/4981: 83 C3 move up 4 D0/4983: 83 6B move forward 12 D0/4985: 8B 04 animated loop start (4 times, increment frame offset each time) D0/4987: 00 [$00] D0/4988: 8C animated loop end D0/4989: 8B 04 animated loop start (4 times, increment frame offset each time) D0/498B: 00 [$00] D0/498C: 8C animated loop end D0/498D: FF end of script ; [ Animation Script $0123: ] D0/498E: 00 20 speed 1, align to center of character/monster D0/4990: FF end of script ; [ Animation Script $0122: Moon Song (sprite) ] D0/4991: 00 20 speed 1, align to center of character/monster D0/4993: 80 2D 9B 49 A2 49 A9 49 jump to $499B (normal attack), $49A2 (back attack), or $49A9 (pincer attack) D0/499B: 80 2E D0 60 move to (208,96) D0/499F: FA AD 49 jump to $49AD D0/49A2: 80 2E 30 60 move to (48,96) D0/49A6: FA AD 49 jump to $49AD D0/49A9: 80 2E 80 60 move to (128,96) D0/49AD: 90 00 set animation tile priority to 0 D0/49AF: B1 FF set sprite animation palette color subtraction to 31 (black) D0/49B1: AF C0 set background color subtraction to 0 (blue) D0/49B3: 89 1F loop start (31 times) D0/49B5: 1F [---] D0/49B6: 8A loop end D0/49B7: 89 1F loop start (31 times) D0/49B9: B6 C1 increase background color subtraction by 1 (blue) D0/49BB: 1F [---] D0/49BC: 8A loop end D0/49BD: 89 80 loop start (128 times) D0/49BF: 1F [---] D0/49C0: 8A loop end D0/49C1: F7 A0 wait until scanline 160 D0/49C3: D4 02 02 10 add (sprites) to (bg2) D0/49C7: 89 1F loop start (31 times) D0/49C9: B8 F1 decrease sprite animation palette color subtraction by 1 (black) D0/49CB: 00 [$00] D0/49CC: 8A loop end D0/49CD: 89 60 loop start (96 times) D0/49CF: 00 [$00] D0/49D0: 8A loop end D0/49D1: 89 1F loop start (31 times) D0/49D3: B8 E1 increase sprite animation palette color subtraction by 1 (black) D0/49D5: B6 D1 decrease background color subtraction by 1 (blue) D0/49D7: 00 [$00] D0/49D8: 8A loop end D0/49D9: D4 02 00 00 add (no layers) to (no layers) D0/49DD: FF end of script ; [ Animation Script $0121: Moon Song (bg1) ] D0/49DE: 00 20 speed 1, align to center of character/monster D0/49E0: D1 01 invalidate character/monster sprite priority D0/49E2: BF 16 55 jump to subroutine $5516 D0/49E5: C9 00 play default sound effect D0/49E7: 80 2D EF 49 F6 49 FD 49 jump to $49EF (normal attack), $49F6 (back attack), or $49FD (pincer attack) D0/49EF: 80 2E D0 60 move to (208,96) D0/49F3: FA 01 4A jump to $4A01 D0/49F6: 80 2E 30 60 move to (48,96) D0/49FA: FA 01 4A jump to $4A01 D0/49FD: 80 2E 80 60 move to (128,96) D0/4A01: D1 00 validate character/monster sprite priority D0/4A03: 0F [$0F] D0/4A04: 80 43 00 command $80/$43 D0/4A07: AD 00 set bg1 hdma scroll type to 0 D0/4A09: 80 43 01 command $80/$43 D0/4A0C: 0F [$0F] D0/4A0D: 00 [$00] D0/4A0E: D1 01 invalidate character/monster sprite priority D0/4A10: 89 7E loop start (126 times) D0/4A12: 80 43 01 command $80/$43 D0/4A15: 00 [$00] D0/4A16: 8A loop end D0/4A17: 89 5F loop start (95 times) D0/4A19: 00 [$00] D0/4A1A: 8A loop end D0/4A1B: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/4A1D: 89 1F loop start (31 times) D0/4A1F: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/4A21: 00 [$00] D0/4A22: 8A loop end D0/4A23: D1 00 validate character/monster sprite priority D0/4A25: 89 08 loop start (8 times) D0/4A27: 00 [$00] D0/4A28: 0F [$0F] D0/4A29: 8A loop end D0/4A2A: D1 01 invalidate character/monster sprite priority D0/4A2C: 89 40 loop start (64 times) D0/4A2E: 0F [$0F] D0/4A2F: 8A loop end D0/4A30: F7 A0 wait until scanline 160 D0/4A32: 80 25 clear bg1 hdma scroll data D0/4A34: AD 03 set bg1 hdma scroll type to 3 D0/4A36: BF 49 55 jump to subroutine $5549 D0/4A39: FF end of script ; [ Animation Script $0120: Atom Edge, True Edge (sprite) ] D0/4A3A: 00 20 speed 1, align to center of character/monster D0/4A3C: 89 2F loop start (47 times) D0/4A3E: 1F [---] D0/4A3F: 8A loop end D0/4A40: 80 32 46 4A 4D 4A jump to $4A46 (left) or $4A4D (right) D0/4A46: 80 2E C0 2B move to (192,43) D0/4A4A: FA 51 4A jump to $4A51 D0/4A4D: 80 2E 40 2B move to (64,43) D0/4A51: BF CB 4C jump to subroutine $4CCB D0/4A54: 89 10 loop start (16 times) D0/4A56: 00 [$00] D0/4A57: 8A loop end D0/4A58: FF end of script ; [ Animation Script $011D: Sonic Dive (sprite) ] D0/4A59: 00 20 speed 1, align to center of character/monster D0/4A5B: C7 02 save attacking character position D0/4A5D: C7 01 reset attacking character position offsets D0/4A5F: 89 08 loop start (8 times) D0/4A61: 1F [---] D0/4A62: 8A loop end D0/4A63: 1F [---] D0/4A64: 80 3F command $80/$3F D0/4A66: 80 2D 80 4A 80 4A 6E 4A jump to $4A80 (normal attack), $4A80 (back attack), or $4A6E (pincer attack) D0/4A6E: 80 32 74 4A 7A 4A jump to $4A74 (left) or $4A7A (right) D0/4A74: D2 78 4C set vector target to (120,76) D0/4A77: FA 83 4A jump to $4A83 D0/4A7A: D2 88 4C set vector target to (136,76) D0/4A7D: FA 83 4A jump to $4A83 D0/4A80: D2 80 4C set vector target to (128,76) D0/4A83: 95 calculate vector from attacker to target D0/4A84: 1F [---] D0/4A85: A0 05 03 jump forward along vector at speed 5, branch to $4A84 D0/4A88: D0 20 set tile priority to 2 for all character/monster sprites D0/4A8A: 89 3F loop start (63 times) D0/4A8C: 86 63 move attacker forward 4 D0/4A8E: 86 C0 move attacker up 1 D0/4A90: 1F [---] D0/4A91: 8A loop end D0/4A92: E1 00 hide attacking character sprite D0/4A94: C7 03 restore attacking character position and reset offsets D0/4A96: 80 4A disable stepping forward to attack for all characters D0/4A98: FF end of script ; [ Animation Script $011E: Sonic Dive (bg1) ] D0/4A99: 00 20 speed 1, align to center of character/monster D0/4A9B: 80 2E 80 5C move to (128,92) D0/4A9F: C9 00 play default sound effect D0/4AA1: 89 07 loop start (7 times) D0/4AA3: 83 9F move back 32 D0/4AA5: 8A loop end D0/4AA6: 00 [$00] D0/4AA7: BD A0 hide bg1 thread D0/4AA9: 89 3F loop start (63 times) D0/4AAB: 83 63 move forward 4 D0/4AAD: 00 [$00] D0/4AAE: 8A loop end D0/4AAF: 89 3F loop start (63 times) D0/4AB1: 83 63 move forward 4 D0/4AB3: 83 C0 move up 1 D0/4AB5: 00 [$00] D0/4AB6: 8A loop end D0/4AB7: FF end of script ; [ Animation Script $011A: Chaos Wing (bg1) ] D0/4AB8: 00 20 speed 1, align to center of character/monster D0/4ABA: D1 01 invalidate character/monster sprite priority D0/4ABC: D0 20 set tile priority to 2 for all character/monster sprites D0/4ABE: C4 80 move bg1 thread to this thread's position D0/4AC0: BF 16 55 jump to subroutine $5516 D0/4AC3: F7 A0 wait until scanline 160 D0/4AC5: D4 02 01 12 add (sprites, bg2) to (bg1) D0/4AC9: 80 8C 00 play sound effect $00 (pan center) D0/4ACC: CC FF set bg1 animation palette color subtraction to 31 (black) D0/4ACE: AF E0 set background color subtraction to 0 (black) D0/4AD0: 00 [$00] D0/4AD1: BD A0 hide bg1 thread D0/4AD3: 89 0F loop start (15 times) D0/4AD5: B6 E1 increase background color subtraction by 1 (black) D0/4AD7: 00 [$00] D0/4AD8: 8A loop end D0/4AD9: 89 1F loop start (31 times) D0/4ADB: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/4ADD: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/4AE0: 00 [$00] D0/4AE1: 8A loop end D0/4AE2: 89 80 loop start (128 times) D0/4AE4: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/4AE7: 00 [$00] D0/4AE8: 8A loop end D0/4AE9: F7 A0 wait until scanline 160 D0/4AEB: D4 02 01 12 add (sprites, bg2) to (bg1) D0/4AEF: 89 1F loop start (31 times) D0/4AF1: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/4AF3: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/4AF6: 00 [$00] D0/4AF7: 8A loop end D0/4AF8: 89 0F loop start (15 times) D0/4AFA: B6 F1 decrease background color subtraction by 1 (black) D0/4AFC: 00 [$00] D0/4AFD: 8A loop end D0/4AFE: BD 80 show bg1 thread D0/4B00: 0F [$0F] D0/4B01: F7 A0 wait until scanline 160 D0/4B03: D4 00 00 00 add fixed color to (no layers) D0/4B07: BF 49 55 jump to subroutine $5549 D0/4B0A: FF end of script ; [ Animation Script $011B: Chaos Wing (bg3) ] D0/4B0B: 00 20 speed 1, align to center of character/monster D0/4B0D: C4 40 move bg3 thread to this thread's position D0/4B0F: 89 2F loop start (47 times) D0/4B11: 09 [$09] D0/4B12: 8A loop end D0/4B13: A5 80 4C 00 DE FF 80 00 init circle at (128,76) D0/4B1B: A7 update circle D0/4B1C: 00 [$00] D0/4B1D: 89 1F loop start (31 times) D0/4B1F: 98 02 08 increment frame offset every 2 loops (0..8) D0/4B22: F7 D8 wait until scanline 216 D0/4B24: A6 00 00 00 move circle (+0,+0) D0/4B28: A7 update circle D0/4B29: 00 [$00] D0/4B2A: 8A loop end D0/4B2B: F7 A0 wait until scanline 160 D0/4B2D: D4 02 05 12 add (sprites, bg2) to (bg3, bg1) D0/4B31: 89 29 loop start (41 times) D0/4B33: 98 02 08 increment frame offset every 2 loops (0..8) D0/4B36: F7 D8 wait until scanline 216 D0/4B38: A6 00 00 02 move circle (+0,+0) and grow by 2 D0/4B3C: A7 update circle D0/4B3D: 00 [$00] D0/4B3E: 8A loop end D0/4B3F: 89 2B loop start (43 times) D0/4B41: 98 02 08 increment frame offset every 2 loops (0..8) D0/4B44: F7 D8 wait until scanline 216 D0/4B46: A6 00 00 00 move circle (+0,+0) D0/4B4A: A7 update circle D0/4B4B: 00 [$00] D0/4B4C: 8A loop end D0/4B4D: 89 2A loop start (42 times) D0/4B4F: 98 02 08 increment frame offset every 2 loops (0..8) D0/4B52: F7 D8 wait until scanline 216 D0/4B54: A6 00 00 FE move circle (+0,+0) and shrink by 2 D0/4B58: A7 update circle D0/4B59: 00 [$00] D0/4B5A: 8A loop end D0/4B5B: 80 3E 13 enable (sprites, bg2, bg1) in main screen D0/4B5E: 80 4E clear frame offset D0/4B60: 89 1F loop start (31 times) D0/4B62: F7 D8 wait until scanline 216 D0/4B64: A7 update circle D0/4B65: 09 [$09] D0/4B66: 8A loop end D0/4B67: FF end of script ; [ Animation Script $011C: Chaos Wing (sprite) ] D0/4B68: 00 20 speed 1, align to center of character/monster D0/4B6A: 80 2E 88 54 move to (136,84) D0/4B6E: 89 2F loop start (47 times) D0/4B70: 1F [---] D0/4B71: 8A loop end D0/4B72: BF CB 4C jump to subroutine $4CCB D0/4B75: 89 80 loop start (128 times) D0/4B77: 00 [$00] D0/4B78: 8A loop end D0/4B79: BF C2 4C jump to subroutine $4CC2 D0/4B7C: FF end of script ; [ Animation Script $0117: Sun Flare (sprite) ] D0/4B7D: 10 20 speed 2, align to center of character/monster D0/4B7F: 90 30 set animation tile priority to 3 D0/4B81: 89 2E loop start (46 times) D0/4B83: 1F [---] D0/4B84: 8A loop end D0/4B85: 80 32 8B 4B 92 4B jump to $4B8B (left) or $4B92 (right) D0/4B8B: 80 2E 30 40 move to (48,64) D0/4B8F: FA 96 4B jump to $4B96 D0/4B92: 80 2E D0 40 move to (208,64) D0/4B96: 89 04 loop start (4 times) D0/4B98: E9 7F 3F move animation randomly (0..127,0..63) D0/4B9B: 00 [$00] D0/4B9C: 01 [$01] D0/4B9D: 02 [$02] D0/4B9E: 03 [$03] D0/4B9F: 83 07 move down/forward 8 D0/4BA1: 04 [$04] D0/4BA2: 83 07 move down/forward 8 D0/4BA4: 05 [$05] D0/4BA5: 83 07 move down/forward 8 D0/4BA7: 06 [$06] D0/4BA8: 83 07 move down/forward 8 D0/4BAA: 07 [$07] D0/4BAB: 83 FF move up/back 32 D0/4BAD: 8A loop end D0/4BAE: FF end of script ; [ Animation Script $0118: Sun Flare (bg3) ] D0/4BAF: 00 20 speed 1, align to center of character/monster D0/4BB1: C4 40 move bg3 thread to this thread's position D0/4BB3: EA 41 set bg3 tile data quadrant to 1 D0/4BB5: 00 [$00] D0/4BB6: EA 42 set bg3 tile data quadrant to 2 D0/4BB8: 00 [$00] D0/4BB9: EA 43 set bg3 tile data quadrant to 3 D0/4BBB: 00 [$00] D0/4BBC: 00 [$00] D0/4BBD: 80 32 01 4C C3 4B jump to $4C01 (left) or $4BC3 (right) D0/4BC3: A5 33 4A 00 DE FF 80 00 init circle at (51,74) D0/4BCB: BD 50 hide bg3 thread D0/4BCD: 89 43 loop start (67 times) D0/4BCF: 00 [$00] D0/4BD0: 8A loop end D0/4BD1: F7 A0 wait until scanline 160 D0/4BD3: D4 02 04 13 add (sprites, bg2, bg1) to (bg3) D0/4BD7: 89 7F loop start (127 times) D0/4BD9: A6 03 01 03 move circle (+3,+1) and grow by 3 D0/4BDD: 83 0B move down/forward 12 D0/4BDF: F7 D8 wait until scanline 216 D0/4BE1: A7 update circle D0/4BE2: 00 [$00] D0/4BE3: 8A loop end D0/4BE4: AA E0 set bg3 animation palette color subtraction to 0 (black) D0/4BE6: 89 1F loop start (31 times) D0/4BE8: A6 01 01 00 move circle (+1,+1) D0/4BEC: 83 0B move down/forward 12 D0/4BEE: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/4BF0: F7 D8 wait until scanline 216 D0/4BF2: A7 update circle D0/4BF3: 00 [$00] D0/4BF4: 8A loop end D0/4BF5: BD 40 show bg3 thread D0/4BF7: EA 41 set bg3 tile data quadrant to 1 D0/4BF9: 09 [$09] D0/4BFA: EA 42 set bg3 tile data quadrant to 2 D0/4BFC: 09 [$09] D0/4BFD: EA 43 set bg3 tile data quadrant to 3 D0/4BFF: 09 [$09] D0/4C00: FF end of script D0/4C01: A5 CD 4A 00 DE FF 80 00 init circle at (205,74) D0/4C09: BD 50 hide bg3 thread D0/4C0B: 89 43 loop start (67 times) D0/4C0D: 00 [$00] D0/4C0E: 8A loop end D0/4C0F: F7 A0 wait until scanline 160 D0/4C11: D4 02 04 13 add (sprites, bg2, bg1) to (bg3) D0/4C15: 89 7F loop start (127 times) D0/4C17: A6 FD 01 03 move circle (-3,+1) and grow by 3 D0/4C1B: 83 0B move down/forward 12 D0/4C1D: F7 D8 wait until scanline 216 D0/4C1F: A7 update circle D0/4C20: 00 [$00] D0/4C21: 8A loop end D0/4C22: AA E0 set bg3 animation palette color subtraction to 0 (black) D0/4C24: 89 1F loop start (31 times) D0/4C26: A6 FF 01 00 move circle (-1,+1) D0/4C2A: 83 0B move down/forward 12 D0/4C2C: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/4C2E: F7 D8 wait until scanline 216 D0/4C30: A7 update circle D0/4C31: 00 [$00] D0/4C32: 8A loop end D0/4C33: BD 40 show bg3 thread D0/4C35: EA 41 set bg3 tile data quadrant to 1 D0/4C37: 09 [$09] D0/4C38: EA 42 set bg3 tile data quadrant to 2 D0/4C3A: 09 [$09] D0/4C3B: EA 43 set bg3 tile data quadrant to 3 D0/4C3D: 09 [$09] D0/4C3E: FF end of script ; [ Animation Script $0119: Sun Flare (bg1) ] D0/4C3F: 00 20 speed 1, align to center of character/monster D0/4C41: D1 01 invalidate character/monster sprite priority D0/4C43: BF 16 55 jump to subroutine $5516 D0/4C46: C9 00 play default sound effect D0/4C48: 80 32 4E 4C 55 4C jump to $4C4E (left) or $4C55 (right) D0/4C4E: 80 2E C0 40 move to (192,64) D0/4C52: FA 59 4C jump to $4C59 D0/4C55: 80 2E 40 40 move to (64,64) D0/4C59: 89 07 loop start (7 times) D0/4C5B: 83 1F move down/forward 32 D0/4C5D: 8A loop end D0/4C5E: CD FF set bg1 animation palette color addition to 31 (white) D0/4C60: AF C0 set background color subtraction to 0 (blue) D0/4C62: 00 [$00] D0/4C63: BD A0 hide bg1 thread D0/4C65: 89 1F loop start (31 times) D0/4C67: 83 E7 move up/back 8 D0/4C69: CE F1 decrease bg1 animation palette color addition by 1 (white) D0/4C6B: B6 C1 increase background color subtraction by 1 (blue) D0/4C6D: 00 [$00] D0/4C6E: 8A loop end D0/4C6F: 89 80 loop start (128 times) D0/4C71: 00 [$00] D0/4C72: 8A loop end D0/4C73: 89 0F loop start (15 times) D0/4C75: CE E1 increase bg1 animation palette color addition by 1 (white) D0/4C77: B6 D1 decrease background color subtraction by 1 (blue) D0/4C79: 00 [$00] D0/4C7A: CE E1 increase bg1 animation palette color addition by 1 (white) D0/4C7C: B6 D1 decrease background color subtraction by 1 (blue) D0/4C7E: 1F [---] D0/4C7F: 8A loop end D0/4C80: BD 80 show bg1 thread D0/4C82: BF 49 55 jump to subroutine $5549 D0/4C85: FF end of script ; [ Animation Script $0115: Group Hug (bg1) ] D0/4C86: 00 20 speed 1, align to center of character/monster D0/4C88: C4 80 move bg1 thread to this thread's position D0/4C8A: CC FF set bg1 animation palette color subtraction to 31 (black) D0/4C8C: 00 [$00] D0/4C8D: C9 00 play default sound effect D0/4C8F: BD A0 hide bg1 thread D0/4C91: 89 1F loop start (31 times) D0/4C93: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/4C95: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/4C98: 00 [$00] D0/4C99: 8A loop end D0/4C9A: 89 5F loop start (95 times) D0/4C9C: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/4C9F: 00 [$00] D0/4CA0: 8A loop end D0/4CA1: 89 1F loop start (31 times) D0/4CA3: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/4CA5: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/4CA8: 00 [$00] D0/4CA9: 8A loop end D0/4CAA: FF end of script ; [ Animation Script $0116: Group Hug (sprite) ] D0/4CAB: 00 20 speed 1, align to center of character/monster D0/4CAD: D1 01 invalidate character/monster sprite priority D0/4CAF: 80 2E 80 60 move to (128,96) D0/4CB3: 90 30 set animation tile priority to 3 D0/4CB5: D0 20 set tile priority to 2 for all character/monster sprites D0/4CB7: BF CB 4C jump to subroutine $4CCB D0/4CBA: 89 5F loop start (95 times) D0/4CBC: 00 [$00] D0/4CBD: 8A loop end D0/4CBE: BF C2 4C jump to subroutine $4CC2 D0/4CC1: FF end of script D0/4CC2: 89 0F loop start (15 times) D0/4CC4: B7 E1 increase sprite animation palette color addition by 1 (white) D0/4CC6: 00 [$00] D0/4CC7: B7 E1 increase sprite animation palette color addition by 1 (white) D0/4CC9: 1F [---] D0/4CCA: C0 return from subroutine D0/4CCB: B2 FF set sprite animation palette color addition to 31 (white) D0/4CCD: 89 1F loop start (31 times) D0/4CCF: B7 F1 decrease sprite animation palette color addition by 1 (white) D0/4CD1: 00 [$00] D0/4CD2: 8A loop end D0/4CD3: C0 return from subroutine ; [ Animation Script $0112: Reviver (sprite) ] D0/4CD4: 00 20 speed 1, align to center of character/monster D0/4CD6: 89 C0 loop start (192 times) D0/4CD8: 1F [---] D0/4CD9: 8A loop end D0/4CDA: FA 39 3F jump to $3F39 ; [ Animation Script $0113: Reviver (bg3) ] D0/4CDD: 00 20 speed 1, align to center of character/monster D0/4CDF: C4 40 move bg3 thread to this thread's position D0/4CE1: AA FF set bg3 animation palette color subtraction to 31 (black) D0/4CE3: 00 [$00] D0/4CE4: BD 50 hide bg3 thread D0/4CE6: 80 8C 27 play sound effect $27 (pan center) D0/4CE9: 89 1F loop start (31 times) D0/4CEB: B4 F1 decrease bg3 animation palette color subtraction by 1 (black) D0/4CED: 00 [$00] D0/4CEE: 8A loop end D0/4CEF: 89 A0 loop start (160 times) D0/4CF1: 00 [$00] D0/4CF2: 8A loop end D0/4CF3: 89 1F loop start (31 times) D0/4CF5: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/4CF7: 00 [$00] D0/4CF8: 8A loop end D0/4CF9: FF end of script ; [ Animation Script $0114: Reviver (bg1) ] D0/4CFA: 00 20 speed 1, align to center of character/monster D0/4CFC: D1 01 invalidate character/monster sprite priority D0/4CFE: 80 2E 80 60 move to (128,96) D0/4D02: D0 20 set tile priority to 2 for all character/monster sprites D0/4D04: 89 05 loop start (5 times) D0/4D06: 83 5F move down/back 32 D0/4D08: 8A loop end D0/4D09: 89 1F loop start (31 times) D0/4D0B: 0F [$0F] D0/4D0C: 8A loop end D0/4D0D: 89 A0 loop start (160 times) D0/4D0F: 83 A1 move up/forward 2 D0/4D11: 00 [$00] D0/4D12: 8A loop end D0/4D13: FF end of script ; [ Animation Script $010F: Rebirth (bg3) ] D0/4D14: 00 20 speed 1, align to center of character/monster D0/4D16: 80 2D 1E 4D 25 4D 2C 4D jump to $4D1E (normal attack), $4D25 (back attack), or $4D2C (pincer attack) D0/4D1E: 80 2E D0 60 move to (208,96) D0/4D22: FA 30 4D jump to $4D30 D0/4D25: 80 2E 30 60 move to (48,96) D0/4D29: FA 30 4D jump to $4D30 D0/4D2C: 80 2E 80 60 move to (128,96) D0/4D30: 8B 03 animated loop start (3 times, increment frame offset each time) D0/4D32: 00 [$00] D0/4D33: 00 [$00] D0/4D34: 00 [$00] D0/4D35: 00 [$00] D0/4D36: 8C animated loop end D0/4D37: 09 [$09] D0/4D38: FF end of script ; [ Animation Script $0110: Rebirth (bg1) ] D0/4D39: 00 20 speed 1, align to center of character/monster D0/4D3B: C4 80 move bg1 thread to this thread's position D0/4D3D: C9 00 play default sound effect D0/4D3F: BD A0 hide bg1 thread D0/4D41: 89 0F loop start (15 times) D0/4D43: 0F [$0F] D0/4D44: 8A loop end D0/4D45: BD 80 show bg1 thread D0/4D47: F7 A0 wait until scanline 160 D0/4D49: D4 02 01 12 add (sprites, bg2) to (bg1) D0/4D4D: CC FF set bg1 animation palette color subtraction to 31 (black) D0/4D4F: 00 [$00] D0/4D50: BD A0 hide bg1 thread D0/4D52: 89 1F loop start (31 times) D0/4D54: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/4D56: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/4D59: 00 [$00] D0/4D5A: 8A loop end D0/4D5B: 89 80 loop start (128 times) D0/4D5D: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/4D60: 00 [$00] D0/4D61: 8A loop end D0/4D62: 89 1F loop start (31 times) D0/4D64: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/4D66: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/4D69: 00 [$00] D0/4D6A: 8A loop end D0/4D6B: FF end of script ; [ Animation Script $0111: Rebirth (sprite) ] D0/4D6C: 00 20 speed 1, align to center of character/monster D0/4D6E: D1 01 invalidate character/monster sprite priority D0/4D70: 80 2E 80 60 move to (128,96) D0/4D74: 90 30 set animation tile priority to 3 D0/4D76: D0 20 set tile priority to 2 for all character/monster sprites D0/4D78: 80 2D 80 4D 87 4D 8E 4D jump to $4D80 (normal attack), $4D87 (back attack), or $4D8E (pincer attack) D0/4D80: 80 2E D0 60 move to (208,96) D0/4D84: FA 92 4D jump to $4D92 D0/4D87: 80 2E 30 60 move to (48,96) D0/4D8B: FA 92 4D jump to $4D92 D0/4D8E: 80 2E 80 60 move to (128,96) D0/4D92: 89 0D loop start (13 times) D0/4D94: 1F [---] D0/4D95: 8A loop end D0/4D96: BF CB 4C jump to subroutine $4CCB D0/4D99: 89 40 loop start (64 times) D0/4D9B: 00 [$00] D0/4D9C: 8A loop end D0/4D9D: 89 1F loop start (31 times) D0/4D9F: B7 C1 increase sprite animation palette color addition by 1 (yellow) D0/4DA1: 00 [$00] D0/4DA2: 8A loop end D0/4DA3: 89 0F loop start (15 times) D0/4DA5: 00 [$00] D0/4DA6: 1F [---] D0/4DA7: 8A loop end D0/4DA8: FF end of script ; [ Animation Script $010C: Heal Horn (bg1) ] D0/4DA9: 00 20 speed 1, align to center of character/monster D0/4DAB: 80 2E 80 4C move to (128,76) D0/4DAF: AF C0 set background color subtraction to 0 (blue) D0/4DB1: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/4DB3: 80 8C 00 play sound effect $00 (pan center) D0/4DB6: A5 80 4C 00 DE FF 80 00 init circle at (128,76) D0/4DBE: 00 [$00] D0/4DBF: BD A0 hide bg1 thread D0/4DC1: 89 26 loop start (38 times) D0/4DC3: A3 16 32 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/4DC6: A6 00 00 02 move circle (+0,+0) and grow by 2 D0/4DCA: B6 C1 increase background color subtraction by 1 (blue) D0/4DCC: F7 D8 wait until scanline 216 D0/4DCE: A7 update circle D0/4DCF: 00 [$00] D0/4DD0: 8A loop end D0/4DD1: F7 A0 wait until scanline 160 D0/4DD3: D4 02 01 16 add (sprites, bg3, bg2) to (bg1) D0/4DD7: 89 1F loop start (31 times) D0/4DD9: A3 16 32 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/4DDC: F7 D8 wait until scanline 216 D0/4DDE: B6 D1 decrease background color subtraction by 1 (blue) D0/4DE0: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/4DE2: 00 [$00] D0/4DE3: 8A loop end D0/4DE4: FF end of script ; [ Animation Script $010D: Heal Horn (bg3) ] D0/4DE5: 30 20 speed 4, align to center of character/monster D0/4DE7: 80 2E 80 4C move to (128,76) D0/4DEB: 8B 08 animated loop start (8 times, increment frame offset each time) D0/4DED: 00 [$00] D0/4DEE: 8C animated loop end D0/4DEF: 8B 08 animated loop start (8 times, increment frame offset each time) D0/4DF1: 00 [$00] D0/4DF2: 8C animated loop end D0/4DF3: 8B 08 animated loop start (8 times, increment frame offset each time) D0/4DF5: 00 [$00] D0/4DF6: 8C animated loop end D0/4DF7: FF end of script ; [ Animation Script $010E: Heal Horn (sprite) ] D0/4DF8: 00 A0 speed 1, align to center of screen D0/4DFA: D1 01 invalidate character/monster sprite priority D0/4DFC: 80 2E 80 60 move to (128,96) D0/4E00: 90 30 set animation tile priority to 3 D0/4E02: D0 20 set tile priority to 2 for all character/monster sprites D0/4E04: BF CB 4C jump to subroutine $4CCB D0/4E07: 89 20 loop start (32 times) D0/4E09: 00 [$00] D0/4E0A: 8A loop end D0/4E0B: 89 0F loop start (15 times) D0/4E0D: B7 E1 increase sprite animation palette color addition by 1 (white) D0/4E0F: 00 [$00] D0/4E10: B7 E1 increase sprite animation palette color addition by 1 (white) D0/4E12: 1F [---] D0/4E13: 8A loop end D0/4E14: FF end of script ; [ Animation Script $010A: Life Guard (bg1) ] D0/4E15: 00 A0 speed 1, align to center of screen D0/4E17: C4 80 move bg1 thread to this thread's position D0/4E19: 80 8C 00 play sound effect $00 (pan center) D0/4E1C: A5 80 4C 00 DE FF 80 00 init circle at (128,76) D0/4E24: AC 82 44 set (bg1) hdma scroll data (amplitude 4, frequency 2, horizontal) D0/4E27: B0 E0 set background color addition to 0 (white) D0/4E29: CD E0 set bg1 animation palette color addition to 0 (white) D0/4E2B: BA E0 set monster color addition to 0 (white) D0/4E2D: FC E0 set character color addition to 0 (white) D0/4E2F: D0 20 set tile priority to 2 for all character/monster sprites D0/4E31: F7 A0 wait until scanline 160 D0/4E33: AD 06 set bg1 hdma scroll type to 6 D0/4E35: 00 [$00] D0/4E36: BD A0 hide bg1 thread D0/4E38: 89 1F loop start (31 times) D0/4E3A: A6 00 00 01 move circle (+0,+0) and grow by 1 D0/4E3E: A7 update circle D0/4E3F: AE 44 update (bg1) hdma scroll data (horizontal) D0/4E41: 00 [$00] D0/4E42: 8A loop end D0/4E43: 80 26 01 disable character palette updates D0/4E46: 89 1F loop start (31 times) D0/4E48: CE E1 increase bg1 animation palette color addition by 1 (white) D0/4E4A: B5 E1 increase background color addition by 1 (white) D0/4E4C: BB E1 increase monster color addition by 1 (white) D0/4E4E: FD E1 increase character color addition by 1 (white) D0/4E50: A6 00 00 01 move circle (+0,+0) and grow by 1 D0/4E54: A7 update circle D0/4E55: AE 44 update (bg1) hdma scroll data (horizontal) D0/4E57: 00 [$00] D0/4E58: 8A loop end D0/4E59: BD 80 show bg1 thread D0/4E5B: 0F [$0F] D0/4E5C: BD A0 hide bg1 thread D0/4E5E: 89 1F loop start (31 times) D0/4E60: 0F [$0F] D0/4E61: 8A loop end D0/4E62: 89 1F loop start (31 times) D0/4E64: B5 F1 decrease background color addition by 1 (white) D0/4E66: BB F1 decrease monster color addition by 1 (white) D0/4E68: FD F1 decrease character color addition by 1 (white) D0/4E6A: 0F [$0F] D0/4E6B: 8A loop end D0/4E6C: 80 26 00 enable character palette updates D0/4E6F: F7 A0 wait until scanline 160 D0/4E71: AD 03 set bg1 hdma scroll type to 3 D0/4E73: 80 25 clear bg1 hdma scroll data D0/4E75: FF end of script ; [ Animation Script $010B: Life Guard (sprite) ] D0/4E76: 00 A0 speed 1, align to center of screen D0/4E78: D1 01 invalidate character/monster sprite priority D0/4E7A: 80 2E 80 60 move to (128,96) D0/4E7E: 90 30 set animation tile priority to 3 D0/4E80: C9 00 play default sound effect D0/4E82: BF CB 4C jump to subroutine $4CCB D0/4E85: 89 10 loop start (16 times) D0/4E87: 00 [$00] D0/4E88: 8A loop end D0/4E89: 89 1F loop start (31 times) D0/4E8B: B7 E1 increase sprite animation palette color addition by 1 (white) D0/4E8D: 00 [$00] D0/4E8E: 8A loop end D0/4E8F: FF end of script ; [ Animation Script $0108: Ruby Power (bg1) ] D0/4E90: 20 20 speed 3, align to center of character/monster D0/4E92: 89 18 loop start (24 times) D0/4E94: 0F [$0F] D0/4E95: 8A loop end D0/4E96: 80 2D 9E 4E A5 4E AC 4E jump to $4E9E (normal attack), $4EA5 (back attack), or $4EAC (pincer attack) D0/4E9E: 80 2E D0 60 move to (208,96) D0/4EA2: FA B0 4E jump to $4EB0 D0/4EA5: 80 2E 30 60 move to (48,96) D0/4EA9: FA B0 4E jump to $4EB0 D0/4EAC: 80 2E 80 60 move to (128,96) D0/4EB0: 83 C8 move up 9 D0/4EB2: 83 62 move forward 3 D0/4EB4: 89 03 loop start (3 times) D0/4EB6: 00 [$00] D0/4EB7: 01 [$01] D0/4EB8: 02 [$02] D0/4EB9: 03 [$03] D0/4EBA: 8A loop end D0/4EBB: 00 [$00] D0/4EBC: 01 [$01] D0/4EBD: 04 [$04] D0/4EBE: 05 [$05] D0/4EBF: FF end of script ; [ Animation Script $0109: Ruby Power (sprite) ] D0/4EC0: 00 A0 speed 1, align to center of screen D0/4EC2: D1 01 invalidate character/monster sprite priority D0/4EC4: D0 20 set tile priority to 2 for all character/monster sprites D0/4EC6: 90 20 set animation tile priority to 2 D0/4EC8: C9 00 play default sound effect D0/4ECA: 80 2D D2 4E D9 4E E0 4E jump to $4ED2 (normal attack), $4ED9 (back attack), or $4EE0 (pincer attack) D0/4ED2: 80 2E D0 60 move to (208,96) D0/4ED6: FA E4 4E jump to $4EE4 D0/4ED9: 80 2E 30 60 move to (48,96) D0/4EDD: FA E4 4E jump to $4EE4 D0/4EE0: 80 2E 80 60 move to (128,96) D0/4EE4: F7 A0 wait until scanline 160 D0/4EE6: D4 00 02 00 add fixed color to (bg2) D0/4EEA: B2 FF set sprite animation palette color addition to 31 (white) D0/4EEC: 80 3A 0F set gradient line intensity to 15 D0/4EEF: 89 0E loop start (14 times) D0/4EF1: 80 39 FF update blue gradient lines, increase intensity by 1 D0/4EF4: B7 F1 decrease sprite animation palette color addition by 1 (white) D0/4EF6: 00 [$00] D0/4EF7: 8A loop end D0/4EF8: 89 10 loop start (16 times) D0/4EFA: B7 F1 decrease sprite animation palette color addition by 1 (white) D0/4EFC: 80 39 00 update blue gradient lines D0/4EFF: 00 [$00] D0/4F00: 8A loop end D0/4F01: 89 50 loop start (80 times) D0/4F03: 80 39 00 update blue gradient lines D0/4F06: 00 [$00] D0/4F07: 8A loop end D0/4F08: 89 0E loop start (14 times) D0/4F0A: 80 39 01 update blue gradient lines, decrease intensity by 1 D0/4F0D: B7 E2 increase sprite animation palette color addition by 2 (white) D0/4F0F: 00 [$00] D0/4F10: 8A loop end D0/4F11: 89 08 loop start (8 times) D0/4F13: B7 E2 increase sprite animation palette color addition by 2 (white) D0/4F15: 00 [$00] D0/4F16: 1F [---] D0/4F17: 8A loop end D0/4F18: 80 37 clear fixed color value hdma data D0/4F1A: FF end of script ; [ Animation Script $0104: Justice (sprite) ] D0/4F1B: 00 A0 speed 1, align to center of screen D0/4F1D: 89 CE loop start (206 times) D0/4F1F: 1F [---] D0/4F20: 8A loop end D0/4F21: 89 20 loop start (32 times) D0/4F23: 80 3B change target's color palette to animation palette D0/4F25: 1F [---] D0/4F26: 80 3C restore target's color palette D0/4F28: 1F [---] D0/4F29: 8A loop end D0/4F2A: FF end of script ; [ Animation Script $0105: Justice (bg3) ] D0/4F2B: 30 A0 speed 4, align to center of screen D0/4F2D: C4 40 move bg3 thread to this thread's position D0/4F2F: 83 3F move down 32 D0/4F31: 83 3F move down 32 D0/4F33: 89 0F loop start (15 times) D0/4F35: 83 C1 move up 2 D0/4F37: 00 [$00] D0/4F38: 8A loop end D0/4F39: 89 0F loop start (15 times) D0/4F3B: 83 21 move down 2 D0/4F3D: 00 [$00] D0/4F3E: 8A loop end D0/4F3F: 89 10 loop start (16 times) D0/4F41: 09 [$09] D0/4F42: 8A loop end D0/4F43: 80 2C 76 load animation palette $76 (bg3) D0/4F46: F7 A0 wait until scanline 160 D0/4F48: D4 02 04 13 add (sprites, bg2, bg1) to (bg3) D0/4F4C: 80 38 enable high priority bg3 D0/4F4E: C4 40 move bg3 thread to this thread's position D0/4F50: C9 12 play sound effect $12 D0/4F52: 03 [$03] D0/4F53: 04 [$04] D0/4F54: 89 04 loop start (4 times) D0/4F56: 05 [$05] D0/4F57: 8A loop end D0/4F58: 83 87 move back 8 D0/4F5A: 89 08 loop start (8 times) D0/4F5C: 06 [$06] D0/4F5D: 07 [$07] D0/4F5E: 08 [$08] D0/4F5F: 8A loop end D0/4F60: AA E0 set bg3 animation palette color subtraction to 0 (black) D0/4F62: 84 01 set animation speed to 2 D0/4F64: 89 04 loop start (4 times) D0/4F66: 06 [$06] D0/4F67: 06 [$06] D0/4F68: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/4F6A: 06 [$06] D0/4F6B: 06 [$06] D0/4F6C: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/4F6E: 06 [$06] D0/4F6F: 06 [$06] D0/4F70: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/4F72: 07 [$07] D0/4F73: 07 [$07] D0/4F74: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/4F76: 07 [$07] D0/4F77: 07 [$07] D0/4F78: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/4F7A: 07 [$07] D0/4F7B: 07 [$07] D0/4F7C: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/4F7E: 08 [$08] D0/4F7F: 08 [$08] D0/4F80: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/4F82: 08 [$08] D0/4F83: 08 [$08] D0/4F84: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/4F86: 08 [$08] D0/4F87: 08 [$08] D0/4F88: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/4F8A: 8A loop end D0/4F8B: FF end of script ; [ Animation Script $0106: Justice (bg1) ] D0/4F8C: 00 A0 speed 1, align to center of screen D0/4F8E: D1 01 invalidate character/monster sprite priority D0/4F90: C4 80 move bg1 thread to this thread's position D0/4F92: 89 04 loop start (4 times) D0/4F94: 83 9F move back 32 D0/4F96: 8A loop end D0/4F97: C9 00 play default sound effect D0/4F99: 83 3F move down 32 D0/4F9B: 83 3F move down 32 D0/4F9D: 83 3F move down 32 D0/4F9F: 83 3F move down 32 D0/4FA1: 83 3F move down 32 D0/4FA3: 00 [$00] D0/4FA4: BD A0 hide bg1 thread D0/4FA6: 89 27 loop start (39 times) D0/4FA8: 83 C1 move up 2 D0/4FAA: 83 60 move forward 1 D0/4FAC: 00 [$00] D0/4FAD: 83 C1 move up 2 D0/4FAF: 83 80 move back 1 D0/4FB1: 00 [$00] D0/4FB2: 8A loop end D0/4FB3: 89 67 loop start (103 times) D0/4FB5: 00 [$00] D0/4FB6: 8A loop end D0/4FB7: 89 40 loop start (64 times) D0/4FB9: 00 [$00] D0/4FBA: 8A loop end D0/4FBB: 89 1F loop start (31 times) D0/4FBD: 00 [$00] D0/4FBE: 8A loop end D0/4FBF: FF end of script ; [ Animation Script $0107: Justice (extra) ] D0/4FC0: 00 A0 speed 1, align to center of screen D0/4FC2: CD FF set bg1 animation palette color addition to 31 (white) D0/4FC4: B2 FF set sprite animation palette color addition to 31 (white) D0/4FC6: EB jump based on thread ($4FCD, $4FDC, $5001) D0/4FCD: 83 21 move down 2 D0/4FCF: 83 41 move down/back 2 D0/4FD1: 89 7E loop start (126 times) D0/4FD3: 1F [---] D0/4FD4: 8A loop end D0/4FD5: 84 01 set animation speed to 2 D0/4FD7: 8B 09 animated loop start (9 times, increment frame offset each time) D0/4FD9: 01 [$01] D0/4FDA: 8C animated loop end D0/4FDB: FF end of script D0/4FDC: 89 04 loop start (4 times) D0/4FDE: 83 3F move down 32 D0/4FE0: 8A loop end D0/4FE1: 83 2F move down 16 D0/4FE3: 83 80 move back 1 D0/4FE5: 90 00 set animation tile priority to 0 D0/4FE7: 89 27 loop start (39 times) D0/4FE9: 83 C1 move up 2 D0/4FEB: 83 60 move forward 1 D0/4FED: 0B [$0B] D0/4FEE: 83 C1 move up 2 D0/4FF0: 83 80 move back 1 D0/4FF2: 0B [$0B] D0/4FF3: 8A loop end D0/4FF4: 89 26 loop start (38 times) D0/4FF6: 0B [$0B] D0/4FF7: 8A loop end D0/4FF8: 89 80 loop start (128 times) D0/4FFA: 0B [$0B] D0/4FFB: 8A loop end D0/4FFC: 89 1F loop start (31 times) D0/4FFE: 0B [$0B] D0/4FFF: 8A loop end D0/5000: FF end of script D0/5001: 89 04 loop start (4 times) D0/5003: 83 3F move down 32 D0/5005: 8A loop end D0/5006: 83 2F move down 16 D0/5008: 83 80 move back 1 D0/500A: 83 E7 move up/back 8 D0/500C: 89 13 loop start (19 times) D0/500E: 83 C1 move up 2 D0/5010: 83 60 move forward 1 D0/5012: 1F [---] D0/5013: 83 C1 move up 2 D0/5015: 83 80 move back 1 D0/5017: 1F [---] D0/5018: 8A loop end D0/5019: 89 13 loop start (19 times) D0/501B: 83 C1 move up 2 D0/501D: 83 60 move forward 1 D0/501F: CE F1 decrease bg1 animation palette color addition by 1 (white) D0/5021: B7 F1 decrease sprite animation palette color addition by 1 (white) D0/5023: 00 [$00] D0/5024: 83 C1 move up 2 D0/5026: 83 80 move back 1 D0/5028: CE F1 decrease bg1 animation palette color addition by 1 (white) D0/502A: B7 F1 decrease sprite animation palette color addition by 1 (white) D0/502C: 00 [$00] D0/502D: 8A loop end D0/502E: 89 1F loop start (31 times) D0/5030: 00 [$00] D0/5031: 8A loop end D0/5032: 89 05 loop start (5 times) D0/5034: 83 20 move down 1 D0/5036: 00 [$00] D0/5037: 8A loop end D0/5038: 89 80 loop start (128 times) D0/503A: 00 [$00] D0/503B: 8A loop end D0/503C: 89 1F loop start (31 times) D0/503E: CE E1 increase bg1 animation palette color addition by 1 (white) D0/5040: B7 E1 increase sprite animation palette color addition by 1 (white) D0/5042: 00 [$00] D0/5043: 8A loop end D0/5044: FF end of script ; [ Animation Script $0102: Hope Song (bg3) ] D0/5045: 00 A0 speed 1, align to center of screen D0/5047: C4 40 move bg3 thread to this thread's position D0/5049: AA FF set bg3 animation palette color subtraction to 31 (black) D0/504B: AF A0 set background color subtraction to 0 (green) D0/504D: F7 A0 wait until scanline 160 D0/504F: AD 87 set bg3 hdma scroll type to 7 D0/5051: BD 50 hide bg3 thread D0/5053: 89 20 loop start (32 times) D0/5055: 09 [$09] D0/5056: 8A loop end D0/5057: BD 40 show bg3 thread D0/5059: F7 A0 wait until scanline 160 D0/505B: D4 02 04 13 add (sprites, bg2, bg1) to (bg3) D0/505F: EA 41 set bg3 tile data quadrant to 1 D0/5061: 00 [$00] D0/5062: 00 [$00] D0/5063: BD 50 hide bg3 thread D0/5065: AC 44 44 set (bg2) hdma scroll data (amplitude 4, frequency 4, horizontal) D0/5068: AC 42 82 set (bg2) hdma scroll data (amplitude 2, frequency 2, vertical) D0/506B: AC 21 44 set (bg3) hdma scroll data (amplitude 4, frequency 1, horizontal) D0/506E: AC 22 82 set (bg3) hdma scroll data (amplitude 2, frequency 2, vertical) D0/5071: 89 0F loop start (15 times) D0/5073: B4 F2 decrease bg3 animation palette color subtraction by 2 (black) D0/5075: AE C3 update (bg3, bg2) hdma scroll data (horizontal and vertical) D0/5077: 83 60 move forward 1 D0/5079: F7 D8 wait until scanline 216 D0/507B: B6 A2 increase background color subtraction by 2 (green) D0/507D: 00 [$00] D0/507E: 8A loop end D0/507F: 80 34 copy monster palettes to character palette data D0/5081: F7 D0 wait until scanline 208 D0/5083: 00 [$00] D0/5084: 80 35 use character palettes for monster sprite data D0/5086: F7 A0 wait until scanline 160 D0/5088: D4 00 14 00 add fixed color to (sprites, bg3) D0/508C: BF 1A 51 jump to subroutine $511A D0/508F: 80 33 0E update rainbow gradient lines (intensity 1) D0/5092: BF 1A 51 jump to subroutine $511A D0/5095: 80 33 0C update rainbow gradient lines (intensity 3) D0/5098: BF 1A 51 jump to subroutine $511A D0/509B: 80 33 0A update rainbow gradient lines (intensity 5) D0/509E: BF 1A 51 jump to subroutine $511A D0/50A1: 80 33 08 update rainbow gradient lines (intensity 7) D0/50A4: BF 1A 51 jump to subroutine $511A D0/50A7: 80 33 06 update rainbow gradient lines (intensity 9) D0/50AA: BF 1A 51 jump to subroutine $511A D0/50AD: 80 33 04 update rainbow gradient lines (intensity 11) D0/50B0: BF 1A 51 jump to subroutine $511A D0/50B3: 80 33 02 update rainbow gradient lines (intensity 13) D0/50B6: 89 80 loop start (128 times) D0/50B8: AE C3 update (bg3, bg2) hdma scroll data (horizontal and vertical) D0/50BA: 83 60 move forward 1 D0/50BC: 80 33 00 update rainbow gradient lines (intensity 15) D0/50BF: F7 D0 wait until scanline 208 D0/50C1: 00 [$00] D0/50C2: 8A loop end D0/50C3: 80 36 restore palettes for monster sprites D0/50C5: BF 1A 51 jump to subroutine $511A D0/50C8: 80 33 02 update rainbow gradient lines (intensity 13) D0/50CB: BF 1A 51 jump to subroutine $511A D0/50CE: 80 33 04 update rainbow gradient lines (intensity 11) D0/50D1: BF 1A 51 jump to subroutine $511A D0/50D4: 80 33 06 update rainbow gradient lines (intensity 9) D0/50D7: BF 1A 51 jump to subroutine $511A D0/50DA: 80 33 08 update rainbow gradient lines (intensity 7) D0/50DD: BF 1A 51 jump to subroutine $511A D0/50E0: 80 33 0A update rainbow gradient lines (intensity 5) D0/50E3: BF 1A 51 jump to subroutine $511A D0/50E6: 80 33 0C update rainbow gradient lines (intensity 3) D0/50E9: BF 1A 51 jump to subroutine $511A D0/50EC: 80 33 0E update rainbow gradient lines (intensity 1) D0/50EF: 80 37 clear fixed color value hdma data D0/50F1: F7 A0 wait until scanline 160 D0/50F3: D4 02 04 13 add (sprites, bg2, bg1) to (bg3) D0/50F7: 89 0F loop start (15 times) D0/50F9: B4 E2 increase bg3 animation palette color subtraction by 2 (black) D0/50FB: B6 B2 decrease background color subtraction by 2 (green) D0/50FD: AE C3 update (bg3, bg2) hdma scroll data (horizontal and vertical) D0/50FF: 83 60 move forward 1 D0/5101: F7 D0 wait until scanline 208 D0/5103: 00 [$00] D0/5104: 8A loop end D0/5105: F7 A0 wait until scanline 160 D0/5107: AD 85 set bg3 hdma scroll type to 5 D0/5109: AC 40 40 set (bg2) hdma scroll data (amplitude 0, frequency 0, horizontal) D0/510C: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/510E: 80 24 clear bg3 hdma scroll data D0/5110: BD 40 show bg3 thread D0/5112: EA 41 set bg3 tile data quadrant to 1 D0/5114: 09 [$09] D0/5115: 80 37 clear fixed color value hdma data D0/5117: 80 71 restore character palettes D0/5119: FF end of script D0/511A: AE C3 update (bg3, bg2) hdma scroll data (horizontal and vertical) D0/511C: 83 60 move forward 1 D0/511E: F7 D0 wait until scanline 208 D0/5120: 00 [$00] D0/5121: C0 return from subroutine ; [ Animation Script $0101: Hope Song (sprite) ] D0/5122: 00 20 speed 1, align to center of character/monster D0/5124: 89 20 loop start (32 times) D0/5126: 1F [---] D0/5127: 8A loop end D0/5128: 80 32 2E 51 39 51 jump to $512E (left) or $5139 (right) D0/512E: 80 2E FF 60 move to (255,96) D0/5132: 83 9F move back 32 D0/5134: 83 9F move back 32 D0/5136: FA 41 51 jump to $5141 D0/5139: 80 2E 00 60 move to (0,96) D0/513D: 83 9F move back 32 D0/513F: 83 9F move back 32 D0/5141: EB jump based on thread ($514E, $5158, $5162, $516C, $5162, $5158) D0/514E: 89 80 loop start (128 times) D0/5150: 80 31 04 move in wide vertical sine wave (speed 4) D0/5153: 83 62 move forward 3 D0/5155: 00 [$00] D0/5156: 8A loop end D0/5157: FF end of script D0/5158: 89 80 loop start (128 times) D0/515A: 80 31 04 move in wide vertical sine wave (speed 4) D0/515D: 83 62 move forward 3 D0/515F: 01 [$01] D0/5160: 8A loop end D0/5161: FF end of script D0/5162: 89 80 loop start (128 times) D0/5164: 80 31 04 move in wide vertical sine wave (speed 4) D0/5167: 83 62 move forward 3 D0/5169: 02 [$02] D0/516A: 8A loop end D0/516B: FF end of script D0/516C: 89 80 loop start (128 times) D0/516E: 80 31 04 move in wide vertical sine wave (speed 4) D0/5171: 83 62 move forward 3 D0/5173: 03 [$03] D0/5174: 8A loop end D0/5175: FF end of script ; [ Animation Script $0103: Hope Song (bg1) ] D0/5176: 00 20 speed 1, align to center of character/monster D0/5178: D1 01 invalidate character/monster sprite priority D0/517A: D0 20 set tile priority to 2 for all character/monster sprites D0/517C: BF 16 55 jump to subroutine $5516 D0/517F: C9 00 play default sound effect D0/5181: 80 2D 89 51 90 51 97 51 jump to $5189 (normal attack), $5190 (back attack), or $5197 (pincer attack) D0/5189: 80 2E D0 60 move to (208,96) D0/518D: FA 9B 51 jump to $519B D0/5190: 80 2E 30 60 move to (48,96) D0/5194: FA 9B 51 jump to $519B D0/5197: 80 2E 80 60 move to (128,96) D0/519B: CD FF set bg1 animation palette color addition to 31 (white) D0/519D: 89 0F loop start (15 times) D0/519F: CE F2 decrease bg1 animation palette color addition by 2 (white) D0/51A1: 00 [$00] D0/51A2: 8A loop end D0/51A3: 89 A0 loop start (160 times) D0/51A5: 00 [$00] D0/51A6: 8A loop end D0/51A7: BF 49 55 jump to subroutine $5549 D0/51AA: FF end of script ; [ Animation Script $00FE: Gem Dust (bg1) ] D0/51AB: 00 20 speed 1, align to center of character/monster D0/51AD: BD A0 hide bg1 thread D0/51AF: 89 0F loop start (15 times) D0/51B1: 0F [$0F] D0/51B2: 8A loop end D0/51B3: BD 80 show bg1 thread D0/51B5: 80 32 BB 51 C2 51 jump to $51BB (left) or $51C2 (right) D0/51BB: 80 2E BC 45 move to (188,69) D0/51BF: FA C6 51 jump to $51C6 D0/51C2: 80 2E 44 45 move to (68,69) D0/51C6: 8B 03 animated loop start (3 times, increment frame offset each time) D0/51C8: 01 [$01] D0/51C9: 01 [$01] D0/51CA: 01 [$01] D0/51CB: 01 [$01] D0/51CC: 8C animated loop end D0/51CD: C4 80 move bg1 thread to this thread's position D0/51CF: 89 66 loop start (102 times) D0/51D1: A3 16 32 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/51D4: 00 [$00] D0/51D5: BD A0 hide bg1 thread D0/51D7: 8A loop end D0/51D8: FF end of script ; [ Animation Script $00FF: Gem Dust (bg3) ] D0/51D9: 00 20 speed 1, align to center of character/monster D0/51DB: C4 40 move bg3 thread to this thread's position D0/51DD: EA 41 set bg3 tile data quadrant to 1 D0/51DF: 06 [$06] D0/51E0: BD 50 hide bg3 thread D0/51E2: 89 1E loop start (30 times) D0/51E4: 09 [$09] D0/51E5: 8A loop end D0/51E6: BD 40 show bg3 thread D0/51E8: 83 7F move forward 32 D0/51EA: 83 7F move forward 32 D0/51EC: 8B 05 animated loop start (5 times, increment frame offset each time) D0/51EE: 00 [$00] D0/51EF: 00 [$00] D0/51F0: 00 [$00] D0/51F1: 00 [$00] D0/51F2: 8C animated loop end D0/51F3: 83 C0 move up 1 D0/51F5: F7 A0 wait until scanline 160 D0/51F7: AD 87 set bg3 hdma scroll type to 7 D0/51F9: AC 21 42 set (bg3) hdma scroll data (amplitude 2, frequency 1, horizontal) D0/51FC: BD 50 hide bg3 thread D0/51FE: 89 41 loop start (65 times) D0/5200: AE 41 update (bg3) hdma scroll data (horizontal) D0/5202: 05 [$05] D0/5203: 8A loop end D0/5204: BD 40 show bg3 thread D0/5206: 84 03 set animation speed to 4 D0/5208: 04 [$04] D0/5209: 03 [$03] D0/520A: 02 [$02] D0/520B: 01 [$01] D0/520C: 00 [$00] D0/520D: F7 A0 wait until scanline 160 D0/520F: AD 85 set bg3 hdma scroll type to 5 D0/5211: 80 24 clear bg3 hdma scroll data D0/5213: BD 40 show bg3 thread D0/5215: EA 41 set bg3 tile data quadrant to 1 D0/5217: 09 [$09] D0/5218: FF end of script ; [ Animation Script $0100: Gem Dust (sprite) ] D0/5219: 00 A0 speed 1, align to center of screen D0/521B: D1 01 invalidate character/monster sprite priority D0/521D: C9 00 play default sound effect D0/521F: D0 20 set tile priority to 2 for all character/monster sprites D0/5221: 90 20 set animation tile priority to 2 D0/5223: B0 20 set background color addition to 0 (blue) D0/5225: 80 32 2B 52 32 52 jump to $522B (left) or $5232 (right) D0/522B: 80 2E D0 60 move to (208,96) D0/522F: FA 36 52 jump to $5236 D0/5232: 80 2E 30 60 move to (48,96) D0/5236: B2 FF set sprite animation palette color addition to 31 (white) D0/5238: 89 0F loop start (15 times) D0/523A: B7 F2 decrease sprite animation palette color addition by 2 (white) D0/523C: B5 22 increase background color addition by 2 (blue) D0/523E: 00 [$00] D0/523F: 8A loop end D0/5240: 89 80 loop start (128 times) D0/5242: 00 [$00] D0/5243: 8A loop end D0/5244: B2 E0 set sprite animation palette color addition to 0 (white) D0/5246: 89 0F loop start (15 times) D0/5248: B7 E1 increase sprite animation palette color addition by 1 (white) D0/524A: B5 31 decrease background color addition by 1 (blue) D0/524C: 00 [$00] D0/524D: B7 E1 increase sprite animation palette color addition by 1 (white) D0/524F: B5 31 decrease background color addition by 1 (blue) D0/5251: 1F [---] D0/5252: 8A loop end D0/5253: FF end of script ; [ Animation Script $00FB: Bolt Fist (bg3) ] D0/5254: 00 A0 speed 1, align to center of screen D0/5256: C4 40 move bg3 thread to this thread's position D0/5258: BD 50 hide bg3 thread D0/525A: 89 64 loop start (100 times) D0/525C: 09 [$09] D0/525D: 8A loop end D0/525E: BD 40 show bg3 thread D0/5260: 84 03 set animation speed to 4 D0/5262: 89 02 loop start (2 times) D0/5264: 00 [$00] D0/5265: 01 [$01] D0/5266: 02 [$02] D0/5267: 03 [$03] D0/5268: 04 [$04] D0/5269: 05 [$05] D0/526A: 8A loop end D0/526B: 00 [$00] D0/526C: 01 [$01] D0/526D: 09 [$09] D0/526E: FF end of script ; [ Animation Script $00FC: Bolt Fist (bg1) ] D0/526F: 00 20 speed 1, align to center of character/monster D0/5271: BD A0 hide bg1 thread D0/5273: 89 30 loop start (48 times) D0/5275: 0F [$0F] D0/5276: 8A loop end D0/5277: 80 2D 7F 52 86 52 8D 52 jump to $527F (normal attack), $5286 (back attack), or $528D (pincer attack) D0/527F: 80 2E D0 60 move to (208,96) D0/5283: FA 91 52 jump to $5291 D0/5286: 80 2E 30 60 move to (48,96) D0/528A: FA 91 52 jump to $5291 D0/528D: 80 2E 80 60 move to (128,96) D0/5291: BD 80 show bg1 thread D0/5293: 83 CF move up 16 D0/5295: 00 [$00] D0/5296: 00 [$00] D0/5297: 00 [$00] D0/5298: 00 [$00] D0/5299: 83 2F move down 16 D0/529B: 8B 03 animated loop start (3 times, increment frame offset each time) D0/529D: 01 [$01] D0/529E: 01 [$01] D0/529F: 01 [$01] D0/52A0: 01 [$01] D0/52A1: 8C animated loop end D0/52A2: C4 80 move bg1 thread to this thread's position D0/52A4: 89 1F loop start (31 times) D0/52A6: 0F [$0F] D0/52A7: 8A loop end D0/52A8: 84 03 set animation speed to 4 D0/52AA: 89 04 loop start (4 times) D0/52AC: BA CF set monster color addition to 15 (yellow) D0/52AE: 05 [$05] D0/52AF: BA C0 set monster color addition to 0 (yellow) D0/52B1: 06 [$06] D0/52B2: BA CF set monster color addition to 15 (yellow) D0/52B4: 07 [$07] D0/52B5: BA C0 set monster color addition to 0 (yellow) D0/52B7: 08 [$08] D0/52B8: 8A loop end D0/52B9: 0F [$0F] D0/52BA: FF end of script ; [ Animation Script $00FD: Bolt Fist (sprite) ] D0/52BB: 00 A0 speed 1, align to center of screen D0/52BD: D1 01 invalidate character/monster sprite priority D0/52BF: D0 20 set tile priority to 2 for all character/monster sprites D0/52C1: 90 20 set animation tile priority to 2 D0/52C3: BF B8 54 jump to subroutine $54B8 D0/52C6: F7 A0 wait until scanline 160 D0/52C8: D4 02 05 12 add (sprites, bg2) to (bg3, bg1) D0/52CC: C9 00 play default sound effect D0/52CE: B0 20 set background color addition to 0 (blue) D0/52D0: 80 2D D8 52 DF 52 E6 52 jump to $52D8 (normal attack), $52DF (back attack), or $52E6 (pincer attack) D0/52D8: 80 2E D0 60 move to (208,96) D0/52DC: FA EA 52 jump to $52EA D0/52DF: 80 2E 30 60 move to (48,96) D0/52E3: FA EA 52 jump to $52EA D0/52E6: 80 2E 80 60 move to (128,96) D0/52EA: 89 0F loop start (15 times) D0/52EC: B5 22 increase background color addition by 2 (blue) D0/52EE: 1F [---] D0/52EF: 8A loop end D0/52F0: 89 0B loop start (11 times) D0/52F2: 1F [---] D0/52F3: 8A loop end D0/52F4: B2 FF set sprite animation palette color addition to 31 (white) D0/52F6: 89 0F loop start (15 times) D0/52F8: B7 F2 decrease sprite animation palette color addition by 2 (white) D0/52FA: 00 [$00] D0/52FB: 8A loop end D0/52FC: 89 50 loop start (80 times) D0/52FE: 00 [$00] D0/52FF: 8A loop end D0/5300: 89 0F loop start (15 times) D0/5302: B5 32 decrease background color addition by 2 (blue) D0/5304: 1F [---] D0/5305: 8A loop end D0/5306: BF E7 54 jump to subroutine $54E7 D0/5309: FF end of script ; [ Animation Script $00F6: Sea Song (bg1) ] D0/530A: 00 A0 speed 1, align to center of screen D0/530C: D1 01 invalidate character/monster sprite priority D0/530E: C4 80 move bg1 thread to this thread's position D0/5310: D0 20 set tile priority to 2 for all character/monster sprites D0/5312: AF C0 set background color subtraction to 0 (blue) D0/5314: AC 41 44 set (bg2) hdma scroll data (amplitude 4, frequency 1, horizontal) D0/5317: AC 41 83 set (bg2) hdma scroll data (amplitude 3, frequency 1, vertical) D0/531A: C9 00 play default sound effect D0/531C: 89 0F loop start (15 times) D0/531E: B6 C1 increase background color subtraction by 1 (blue) D0/5320: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/5322: 0F [$0F] D0/5323: 8A loop end D0/5324: 89 1A loop start (26 times) D0/5326: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/5328: 0F [$0F] D0/5329: 8A loop end D0/532A: 89 07 loop start (7 times) D0/532C: 83 9F move back 32 D0/532E: 8A loop end D0/532F: 8B 0E animated loop start (14 times, increment frame offset each time) D0/5331: 83 65 move forward 6 D0/5333: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/5335: 00 [$00] D0/5336: 83 65 move forward 6 D0/5338: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/533A: 00 [$00] D0/533B: 83 65 move forward 6 D0/533D: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/533F: 00 [$00] D0/5340: 83 65 move forward 6 D0/5342: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/5344: 00 [$00] D0/5345: 8C animated loop end D0/5346: BF 5D 53 jump to subroutine $535D D0/5349: BF 5D 53 jump to subroutine $535D D0/534C: EA 81 set bg1 tile data quadrant to 1 D0/534E: 0F [$0F] D0/534F: 89 0F loop start (15 times) D0/5351: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/5353: B6 D1 decrease background color subtraction by 1 (blue) D0/5355: 0F [$0F] D0/5356: 8A loop end D0/5357: AC 40 C0 set (bg2) hdma scroll data (amplitude 0, frequency 0, horizontal and vertical) D0/535A: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/535C: FF end of script D0/535D: 8B 0E animated loop start (14 times, increment frame offset each time) D0/535F: 83 65 move forward 6 D0/5361: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/5363: 00 [$00] D0/5364: 83 65 move forward 6 D0/5366: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/5368: 00 [$00] D0/5369: EA 81 set bg1 tile data quadrant to 1 D0/536B: 83 65 move forward 6 D0/536D: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/536F: 00 [$00] D0/5370: 83 65 move forward 6 D0/5372: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/5374: 00 [$00] D0/5375: 8C animated loop end D0/5376: C0 return from subroutine ; [ Animation Script $00F7: Sea Song (extra) ] D0/5377: 00 A0 speed 1, align to center of screen D0/5379: 80 2E 80 50 move to (128,80) D0/537D: 89 07 loop start (7 times) D0/537F: 83 9F move back 32 D0/5381: 8A loop end D0/5382: 89 54 loop start (84 times) D0/5384: 83 65 move forward 6 D0/5386: 80 31 02 move in wide vertical sine wave (speed 2) D0/5389: 00 [$00] D0/538A: 8A loop end D0/538B: FF end of script ; [ Animation Script $00F8: Sea Song (sprite) ] D0/538C: 00 A0 speed 1, align to center of screen D0/538E: FF end of script ; [ Animation Script $00F3: Earth Aura (bg1) ] D0/538F: 00 A0 speed 1, align to center of screen D0/5391: D1 01 invalidate character/monster sprite priority D0/5393: C4 80 move bg1 thread to this thread's position D0/5395: D0 30 set tile priority to 3 for all character/monster sprites D0/5397: A5 80 90 6C DE FF 6C 00 init circle at (128,144) D0/539F: A7 update circle D0/53A0: 89 22 loop start (34 times) D0/53A2: 0F [$0F] D0/53A3: 8A loop end D0/53A4: 83 2F move down 16 D0/53A6: 89 09 loop start (9 times) D0/53A8: 00 [$00] D0/53A9: BD A0 hide bg1 thread D0/53AB: 8A loop end D0/53AC: 89 0F loop start (15 times) D0/53AE: 83 61 move forward 2 D0/53B0: A6 02 00 00 move circle (+2,+0) D0/53B4: D6 02 00 scroll background to (2,0) D0/53B7: 00 [$00] D0/53B8: 83 81 move back 2 D0/53BA: A6 FE 00 00 move circle (-2,+0) D0/53BE: D6 FE 00 scroll background to (-2,0) D0/53C1: 00 [$00] D0/53C2: 8A loop end D0/53C3: D6 00 00 scroll background to (0,0) D0/53C6: 89 40 loop start (64 times) D0/53C8: 00 [$00] D0/53C9: 8A loop end D0/53CA: FF end of script ; [ Animation Script $00F4: Earth Aura (bg3) ] D0/53CB: 00 A0 speed 1, align to center of screen D0/53CD: 89 22 loop start (34 times) D0/53CF: 09 [$09] D0/53D0: 8A loop end D0/53D1: 80 8C 00 play sound effect $00 (pan center) D0/53D4: C4 40 move bg3 thread to this thread's position D0/53D6: 04 [$04] D0/53D7: 04 [$04] D0/53D8: 03 [$03] D0/53D9: 03 [$03] D0/53DA: 02 [$02] D0/53DB: 02 [$02] D0/53DC: 01 [$01] D0/53DD: 01 [$01] D0/53DE: 00 [$00] D0/53DF: 00 [$00] D0/53E0: 89 40 loop start (64 times) D0/53E2: 09 [$09] D0/53E3: 8A loop end D0/53E4: F7 A0 wait until scanline 160 D0/53E6: D4 02 04 12 add (sprites, bg2) to (bg3) D0/53EA: 80 2C 72 load animation palette $72 (bg3) D0/53ED: 89 05 loop start (5 times) D0/53EF: 83 3F move down 32 D0/53F1: 8A loop end D0/53F2: AC 41 44 set (bg2) hdma scroll data (amplitude 4, frequency 1, horizontal) D0/53F5: 89 19 loop start (25 times) D0/53F7: 98 02 02 increment frame offset every 2 loops (0..2) D0/53FA: 83 C7 move up 8 D0/53FC: AE 42 update (bg2) hdma scroll data (horizontal) D0/53FE: 05 [$05] D0/53FF: 8A loop end D0/5400: 89 40 loop start (64 times) D0/5402: 98 02 02 increment frame offset every 2 loops (0..2) D0/5405: AE 42 update (bg2) hdma scroll data (horizontal) D0/5407: 05 [$05] D0/5408: 8A loop end D0/5409: 89 19 loop start (25 times) D0/540B: 83 C7 move up 8 D0/540D: 98 02 02 increment frame offset every 2 loops (0..2) D0/5410: AE 42 update (bg2) hdma scroll data (horizontal) D0/5412: 05 [$05] D0/5413: 8A loop end D0/5414: AC 40 40 set (bg2) hdma scroll data (amplitude 0, frequency 0, horizontal) D0/5417: AE 42 update (bg2) hdma scroll data (horizontal) D0/5419: FF end of script ; [ Animation Script $00F5: Earth Aura (sprite) ] D0/541A: 00 20 speed 1, align to center of character/monster D0/541C: 80 2E 80 70 move to (128,112) D0/5420: BF B8 54 jump to subroutine $54B8 D0/5423: F7 A0 wait until scanline 160 D0/5425: D4 02 04 12 add (sprites, bg2) to (bg3) D0/5429: 89 09 loop start (9 times) D0/542B: 1F [---] D0/542C: 8A loop end D0/542D: 89 05 loop start (5 times) D0/542F: 83 3F move down 32 D0/5431: 8A loop end D0/5432: AF C0 set background color subtraction to 0 (blue) D0/5434: 89 19 loop start (25 times) D0/5436: 83 C7 move up 8 D0/5438: B6 C2 increase background color subtraction by 2 (blue) D0/543A: 00 [$00] D0/543B: 8A loop end D0/543C: 89 80 loop start (128 times) D0/543E: 00 [$00] D0/543F: 8A loop end D0/5440: 89 16 loop start (22 times) D0/5442: 83 C7 move up 8 D0/5444: B6 D2 decrease background color subtraction by 2 (blue) D0/5446: 00 [$00] D0/5447: 8A loop end D0/5448: BF E7 54 jump to subroutine $54E7 D0/544B: FF end of script ; [ Animation Script $0252: Demon Eye (sprite) ] D0/544C: 00 20 speed 1, align to center of character/monster D0/544E: BF B8 54 jump to subroutine $54B8 D0/5451: C9 00 play default sound effect D0/5453: 90 20 set animation tile priority to 2 D0/5455: AF C0 set background color subtraction to 0 (blue) D0/5457: 80 2D 5F 54 66 54 6D 54 jump to $545F (normal attack), $5466 (back attack), or $546D (pincer attack) D0/545F: 80 2E D0 70 move to (208,112) D0/5463: FA 71 54 jump to $5471 D0/5466: 80 2E 30 70 move to (48,112) D0/546A: FA 71 54 jump to $5471 D0/546D: 80 2E 80 70 move to (128,112) D0/5471: B2 FF set sprite animation palette color addition to 31 (white) D0/5473: 89 0F loop start (15 times) D0/5475: B7 F2 decrease sprite animation palette color addition by 2 (white) D0/5477: B6 C2 increase background color subtraction by 2 (blue) D0/5479: 00 [$00] D0/547A: 8A loop end D0/547B: 89 5F loop start (95 times) D0/547D: 00 [$00] D0/547E: 8A loop end D0/547F: 89 0F loop start (15 times) D0/5481: B6 D2 decrease background color subtraction by 2 (blue) D0/5483: 00 [$00] D0/5484: 8A loop end D0/5485: BF E7 54 jump to subroutine $54E7 D0/5488: FF end of script ; [ Animation Script $0251: Demon Eye (bg1) ] D0/5489: 00 20 speed 1, align to center of character/monster D0/548B: D1 01 invalidate character/monster sprite priority D0/548D: D0 20 set tile priority to 2 for all character/monster sprites D0/548F: 80 2D 97 54 9E 54 A5 54 jump to $5497 (normal attack), $549E (back attack), or $54A5 (pincer attack) D0/5497: 80 2E D0 70 move to (208,112) D0/549B: FA A9 54 jump to $54A9 D0/549E: 80 2E 30 70 move to (48,112) D0/54A2: FA A9 54 jump to $54A9 D0/54A5: 80 2E 80 70 move to (128,112) D0/54A9: 83 70 move forward 17 D0/54AB: 83 02 move down/forward 3 D0/54AD: 89 40 loop start (64 times) D0/54AF: 0F [$0F] D0/54B0: 8A loop end D0/54B1: 84 03 set animation speed to 4 D0/54B3: 8B 08 animated loop start (8 times, increment frame offset each time) D0/54B5: 00 [$00] D0/54B6: 8C animated loop end D0/54B7: FF end of script D0/54B8: C9 46 play sound effect $46 D0/54BA: 80 26 01 disable character palette updates D0/54BD: 1F [---] D0/54BE: F7 A0 wait until scanline 160 D0/54C0: D4 02 02 10 add (sprites) to (bg2) D0/54C4: 80 28 00 set tile priority to 0 for all character sprites D0/54C7: 80 29 01 hide cursor sprites (esper attack) D0/54CA: FB E0 set character color subtraction to 0 (black) D0/54CC: 89 0F loop start (15 times) D0/54CE: FE E1 increase character color subtraction by 1 (black) D0/54D0: 80 27 01 hide character sprites (esper attack) D0/54D3: 1F [---] D0/54D4: FE E1 increase character color subtraction by 1 (black) D0/54D6: 80 27 00 show character sprites (esper attack) D0/54D9: 1F [---] D0/54DA: 8A loop end D0/54DB: F7 A0 wait until scanline 160 D0/54DD: D4 02 00 00 add (no layers) to (no layers) D0/54E1: 80 27 01 hide character sprites (esper attack) D0/54E4: FB E0 set character color subtraction to 0 (black) D0/54E6: C0 return from subroutine D0/54E7: 80 28 00 set tile priority to 0 for all character sprites D0/54EA: 80 27 00 show character sprites (esper attack) D0/54ED: 89 0F loop start (15 times) D0/54EF: 1F [---] D0/54F0: 8A loop end D0/54F1: 80 26 01 disable character palette updates D0/54F4: FB FF set character color subtraction to 31 (black) D0/54F6: 1F [---] D0/54F7: F7 A0 wait until scanline 160 D0/54F9: D4 02 02 10 add (sprites) to (bg2) D0/54FD: 89 0F loop start (15 times) D0/54FF: FE F1 decrease character color subtraction by 1 (black) D0/5501: 80 27 01 hide character sprites (esper attack) D0/5504: 1F [---] D0/5505: 80 27 00 show character sprites (esper attack) D0/5508: FE F1 decrease character color subtraction by 1 (black) D0/550A: 1F [---] D0/550B: 8A loop end D0/550C: 80 28 30 set tile priority to 3 for all character sprites D0/550F: 80 26 00 enable character palette updates D0/5512: 80 29 00 show cursor sprites (esper attack) D0/5515: C0 return from subroutine D0/5516: C9 46 play sound effect $46 D0/5518: BD A0 hide bg1 thread D0/551A: 80 26 01 disable character palette updates D0/551D: 0F [$0F] D0/551E: F7 A0 wait until scanline 160 D0/5520: D4 02 02 10 add (sprites) to (bg2) D0/5524: 80 28 00 set tile priority to 0 for all character sprites D0/5527: 80 29 01 hide cursor sprites (esper attack) D0/552A: FB E0 set character color subtraction to 0 (black) D0/552C: 89 0F loop start (15 times) D0/552E: FE E1 increase character color subtraction by 1 (black) D0/5530: 80 27 01 hide character sprites (esper attack) D0/5533: 0F [$0F] D0/5534: FE E1 increase character color subtraction by 1 (black) D0/5536: 80 27 00 show character sprites (esper attack) D0/5539: 0F [$0F] D0/553A: 8A loop end D0/553B: F7 A0 wait until scanline 160 D0/553D: D4 02 00 00 add (no layers) to (no layers) D0/5541: 80 27 01 hide character sprites (esper attack) D0/5544: FB E0 set character color subtraction to 0 (black) D0/5546: BD 80 show bg1 thread D0/5548: C0 return from subroutine D0/5549: 80 28 00 set tile priority to 0 for all character sprites D0/554C: 80 27 00 show character sprites (esper attack) D0/554F: 89 0F loop start (15 times) D0/5551: 0F [$0F] D0/5552: BD A0 hide bg1 thread D0/5554: 8A loop end D0/5555: 80 26 01 disable character palette updates D0/5558: FB FF set character color subtraction to 31 (black) D0/555A: 0F [$0F] D0/555B: F7 A0 wait until scanline 160 D0/555D: D4 02 02 10 add (sprites) to (bg2) D0/5561: 89 0F loop start (15 times) D0/5563: FE F1 decrease character color subtraction by 1 (black) D0/5565: 80 27 01 hide character sprites (esper attack) D0/5568: 0F [$0F] D0/5569: 80 27 00 show character sprites (esper attack) D0/556C: FE F1 decrease character color subtraction by 1 (black) D0/556E: 0F [$0F] D0/556F: 8A loop end D0/5570: 80 28 30 set tile priority to 3 for all character sprites D0/5573: 80 26 00 enable character palette updates D0/5576: 80 29 00 show cursor sprites (esper attack) D0/5579: BD 80 show bg1 thread D0/557B: C0 return from subroutine ; [ Animation Script $00EE: Inferno (sprite) ] D0/557C: 00 A0 speed 1, align to center of screen D0/557E: D1 01 invalidate character/monster sprite priority D0/5580: D0 20 set tile priority to 2 for all character/monster sprites D0/5582: 90 10 set animation tile priority to 1 D0/5584: 89 4C loop start (76 times) D0/5586: 1F [---] D0/5587: 8A loop end D0/5588: 89 01 loop start (1 times) D0/558A: 83 87 move back 8 D0/558C: 00 [$00] D0/558D: 00 [$00] D0/558E: 00 [$00] D0/558F: 00 [$00] D0/5590: 83 67 move forward 8 D0/5592: 01 [$01] D0/5593: 01 [$01] D0/5594: 01 [$01] D0/5595: 01 [$01] D0/5596: 01 [$01] D0/5597: 01 [$01] D0/5598: 02 [$02] D0/5599: 02 [$02] D0/559A: 02 [$02] D0/559B: 02 [$02] D0/559C: 02 [$02] D0/559D: 02 [$02] D0/559E: 83 87 move back 8 D0/55A0: 03 [$03] D0/55A1: 03 [$03] D0/55A2: 03 [$03] D0/55A3: 03 [$03] D0/55A4: 83 67 move forward 8 D0/55A6: 04 [$04] D0/55A7: 04 [$04] D0/55A8: 04 [$04] D0/55A9: 04 [$04] D0/55AA: 04 [$04] D0/55AB: 04 [$04] D0/55AC: 05 [$05] D0/55AD: 05 [$05] D0/55AE: 05 [$05] D0/55AF: 05 [$05] D0/55B0: 05 [$05] D0/55B1: 05 [$05] D0/55B2: 8A loop end D0/55B3: 83 87 move back 8 D0/55B5: 89 03 loop start (3 times) D0/55B7: 83 C3 move up 4 D0/55B9: 00 [$00] D0/55BA: 8A loop end D0/55BB: 83 67 move forward 8 D0/55BD: 89 05 loop start (5 times) D0/55BF: 83 C3 move up 4 D0/55C1: 01 [$01] D0/55C2: 8A loop end D0/55C3: 89 05 loop start (5 times) D0/55C5: 83 C3 move up 4 D0/55C7: 02 [$02] D0/55C8: 8A loop end D0/55C9: 83 87 move back 8 D0/55CB: 89 03 loop start (3 times) D0/55CD: 83 C3 move up 4 D0/55CF: 03 [$03] D0/55D0: 8A loop end D0/55D1: 83 67 move forward 8 D0/55D3: 89 05 loop start (5 times) D0/55D5: 83 C3 move up 4 D0/55D7: 04 [$04] D0/55D8: 8A loop end D0/55D9: 89 05 loop start (5 times) D0/55DB: 83 C3 move up 4 D0/55DD: 05 [$05] D0/55DE: 8A loop end D0/55DF: FF end of script ; [ Animation Script $00EF: Inferno (bg1) ] D0/55E0: 00 A0 speed 1, align to center of screen D0/55E2: C4 80 move bg1 thread to this thread's position D0/55E4: BF 16 55 jump to subroutine $5516 D0/55E7: F7 A0 wait until scanline 160 D0/55E9: D4 02 01 10 add (sprites) to (bg1) D0/55ED: 80 8C 00 play sound effect $00 (pan center) D0/55F0: AF 60 set background color subtraction to 0 (red) D0/55F2: AC 41 44 set (bg2) hdma scroll data (amplitude 4, frequency 1, horizontal) D0/55F5: AC 41 83 set (bg2) hdma scroll data (amplitude 3, frequency 1, vertical) D0/55F8: 83 87 move back 8 D0/55FA: 8B 0A animated loop start (10 times, increment frame offset each time) D0/55FC: B6 61 increase background color subtraction by 1 (red) D0/55FE: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/5600: 00 [$00] D0/5601: B6 61 increase background color subtraction by 1 (red) D0/5603: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/5605: 00 [$00] D0/5606: B6 61 increase background color subtraction by 1 (red) D0/5608: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/560A: 00 [$00] D0/560B: B6 61 increase background color subtraction by 1 (red) D0/560D: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/560F: 00 [$00] D0/5610: 8C animated loop end D0/5611: 80 2B 6C load animation palette $6C (bg1) D0/5614: CD FF set bg1 animation palette color addition to 31 (white) D0/5616: BD 80 show bg1 thread D0/5618: 89 07 loop start (7 times) D0/561A: 0B [$0B] D0/561B: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/561E: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/5620: CE F1 decrease bg1 animation palette color addition by 1 (white) D0/5622: 8A loop end D0/5623: BD A0 hide bg1 thread D0/5625: 89 0C loop start (12 times) D0/5627: BA 9F set monster color addition to 31 (red) D0/5629: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/562C: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/562E: CE F1 decrease bg1 animation palette color addition by 1 (white) D0/5630: 0B [$0B] D0/5631: BA 80 set monster color addition to 0 (red) D0/5633: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/5636: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/5638: CE F1 decrease bg1 animation palette color addition by 1 (white) D0/563A: 0B [$0B] D0/563B: 8A loop end D0/563C: 89 0F loop start (15 times) D0/563E: BA 9F set monster color addition to 31 (red) D0/5640: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/5643: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/5645: 0B [$0B] D0/5646: BA 80 set monster color addition to 0 (red) D0/5648: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/564B: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/564D: 0B [$0B] D0/564E: 8A loop end D0/564F: 89 20 loop start (32 times) D0/5651: 83 C3 move up 4 D0/5653: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/5656: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/5658: 0B [$0B] D0/5659: 8A loop end D0/565A: 89 0F loop start (15 times) D0/565C: B6 72 decrease background color subtraction by 2 (red) D0/565E: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/5660: 0B [$0B] D0/5661: 8A loop end D0/5662: AC 41 C3 set (bg2) hdma scroll data (amplitude 3, frequency 1, horizontal and vertical) D0/5665: BF 77 56 jump to subroutine $5677 D0/5668: AC 41 C1 set (bg2) hdma scroll data (amplitude 1, frequency 1, horizontal and vertical) D0/566B: BF 77 56 jump to subroutine $5677 D0/566E: AC 41 C0 set (bg2) hdma scroll data (amplitude 0, frequency 1, horizontal and vertical) D0/5671: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/5673: BF 49 55 jump to subroutine $5549 D0/5676: FF end of script D0/5677: 89 07 loop start (7 times) D0/5679: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/567B: 0F [$0F] D0/567C: 8A loop end D0/567D: C0 return from subroutine ; [ Animation Script $00F0: Inferno (bg3) ] D0/567E: 00 A0 speed 1, align to center of screen D0/5680: C4 40 move bg3 thread to this thread's position D0/5682: 89 4C loop start (76 times) D0/5684: 09 [$09] D0/5685: 8A loop end D0/5686: 8B 08 animated loop start (8 times, increment frame offset each time) D0/5688: 00 [$00] D0/5689: 00 [$00] D0/568A: 8C animated loop end D0/568B: 8B 08 animated loop start (8 times, increment frame offset each time) D0/568D: 00 [$00] D0/568E: 00 [$00] D0/568F: 8C animated loop end D0/5690: FF end of script ; [ Animation Script $00EC: Cure (sprite) ] D0/5691: 20 20 speed 3, align to center of character/monster D0/5693: D1 01 invalidate character/monster sprite priority D0/5695: C9 00 play default sound effect D0/5697: 8B 10 animated loop start (16 times, increment frame offset each time) D0/5699: 00 [$00] D0/569A: 8C animated loop end D0/569B: C9 29 play sound effect $29 D0/569D: 11 [$11] D0/569E: 12 [$12] D0/569F: 13 [$13] D0/56A0: 14 [$14] D0/56A1: 15 [$15] D0/56A2: 16 [$16] D0/56A3: 17 [$17] D0/56A4: 18 [$18] D0/56A5: 19 [$19] D0/56A6: FF end of script D0/56A7: 30 unknown $30 D0/56A8: 20 unknown $20 D0/56A9: D1 01 invalidate character/monster sprite priority D0/56AB: C9 00 play default sound effect D0/56AD: 8B 0B animated loop start (11 times, increment frame offset each time) D0/56AF: 00 [$00] D0/56B0: 8C animated loop end D0/56B1: FF end of script ; [ Animation Script $00E7: Ultima (bg1) ] D0/56B2: 00 20 speed 1, align to center of character/monster D0/56B4: 80 8C 00 play sound effect $00 (pan center) D0/56B7: C4 80 move bg1 thread to this thread's position D0/56B9: D1 01 invalidate character/monster sprite priority D0/56BB: D0 20 set tile priority to 2 for all character/monster sprites D0/56BD: A5 80 60 00 DE FF 7F 00 init circle at (128,96) D0/56C5: 00 [$00] D0/56C6: BD A0 hide bg1 thread D0/56C8: AC 42 44 set (bg2) hdma scroll data (amplitude 4, frequency 2, horizontal) D0/56CB: AF 60 set background color subtraction to 0 (red) D0/56CD: 89 0F loop start (15 times) D0/56CF: B6 C2 increase background color subtraction by 2 (blue) D0/56D1: AE 42 update (bg2) hdma scroll data (horizontal) D0/56D3: 00 [$00] D0/56D4: 8A loop end D0/56D5: 89 7E loop start (126 times) D0/56D7: A3 16 31 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/56DA: AE 42 update (bg2) hdma scroll data (horizontal) D0/56DC: A6 00 00 01 move circle (+0,+0) and grow by 1 D0/56E0: F7 C0 wait until scanline 192 D0/56E2: A7 update circle D0/56E3: 00 [$00] D0/56E4: 8A loop end D0/56E5: AC 40 40 set (bg2) hdma scroll data (amplitude 0, frequency 0, horizontal) D0/56E8: AE 42 update (bg2) hdma scroll data (horizontal) D0/56EA: 80 8C BE play sound effect $BE (pan center) D0/56ED: B0 FF set background color addition to 31 (white) D0/56EF: CD FF set bg1 animation palette color addition to 31 (white) D0/56F1: BD 80 show bg1 thread D0/56F3: 89 1F loop start (31 times) D0/56F5: B5 F1 decrease background color addition by 1 (white) D0/56F7: 0F [$0F] D0/56F8: 8A loop end D0/56F9: FF end of script ; [ Animation Script $00E8: Ultima (bg3) ] D0/56FA: 00 20 speed 1, align to center of character/monster D0/56FC: C4 40 move bg3 thread to this thread's position D0/56FE: 89 18 loop start (24 times) D0/5700: 09 [$09] D0/5701: 8A loop end D0/5702: EA 42 set bg3 tile data quadrant to 2 D0/5704: 00 [$00] D0/5705: 89 2A loop start (42 times) D0/5707: 83 C5 move up 6 D0/5709: 09 [$09] D0/570A: 8A loop end D0/570B: 00 [$00] D0/570C: BD 50 hide bg3 thread D0/570E: 89 4A loop start (74 times) D0/5710: 83 C5 move up 6 D0/5712: 00 [$00] D0/5713: 8A loop end D0/5714: BD 40 show bg3 thread D0/5716: EA 42 set bg3 tile data quadrant to 2 D0/5718: 09 [$09] D0/5719: FF end of script ; [ Animation Script $00D7: Flare (sprite) ] D0/571A: 00 20 speed 1, align to center of character/monster D0/571C: D1 01 invalidate character/monster sprite priority D0/571E: EB jump based on thread ($57AB, $572F, $576E, $572F, $576E, $576D, $576D, $576D) D0/572F: 89 1F loop start (31 times) D0/5731: 1F [---] D0/5732: 8A loop end D0/5733: BF E2 57 jump to subroutine $57E2 D0/5736: BF E2 57 jump to subroutine $57E2 D0/5739: BF E2 57 jump to subroutine $57E2 D0/573C: BF E2 57 jump to subroutine $57E2 D0/573F: BF E2 57 jump to subroutine $57E2 D0/5742: 83 BF move up/forward 32 D0/5744: 89 07 loop start (7 times) D0/5746: E9 3F 3F move animation randomly (0..63,0..63) D0/5749: 06 [$06] D0/574A: 07 [$07] D0/574B: 08 [$08] D0/574C: 09 [$09] D0/574D: 0A [$0A] D0/574E: 0B [$0B] D0/574F: 0C [$0C] D0/5750: 0D [$0D] D0/5751: 0E [$0E] D0/5752: 8A loop end D0/5753: 83 5F move down/back 32 D0/5755: E9 00 00 move animation randomly (0..0,0..0) D0/5758: 89 40 loop start (64 times) D0/575A: 1F [---] D0/575B: 8A loop end D0/575C: C9 13 play sound effect $13 D0/575E: BF 42 58 jump to subroutine $5842 D0/5761: BF 42 58 jump to subroutine $5842 D0/5764: BF 42 58 jump to subroutine $5842 D0/5767: BF 42 58 jump to subroutine $5842 D0/576A: BF 42 58 jump to subroutine $5842 D0/576D: FF end of script D0/576E: 89 1F loop start (31 times) D0/5770: 1F [---] D0/5771: 8A loop end D0/5772: BF E2 57 jump to subroutine $57E2 D0/5775: BF E2 57 jump to subroutine $57E2 D0/5778: BF E2 57 jump to subroutine $57E2 D0/577B: BF E2 57 jump to subroutine $57E2 D0/577E: BF E2 57 jump to subroutine $57E2 D0/5781: 83 AF move up/forward 16 D0/5783: 89 07 loop start (7 times) D0/5785: E9 1F 1F move animation randomly (0..31,0..31) D0/5788: 06 [$06] D0/5789: 07 [$07] D0/578A: 08 [$08] D0/578B: 09 [$09] D0/578C: 0A [$0A] D0/578D: 0B [$0B] D0/578E: 0C [$0C] D0/578F: 0D [$0D] D0/5790: 0E [$0E] D0/5791: 8A loop end D0/5792: 83 4F move down/back 16 D0/5794: E9 00 00 move animation randomly (0..0,0..0) D0/5797: 89 40 loop start (64 times) D0/5799: 1F [---] D0/579A: 8A loop end D0/579B: BF 42 58 jump to subroutine $5842 D0/579E: BF 42 58 jump to subroutine $5842 D0/57A1: BF 42 58 jump to subroutine $5842 D0/57A4: BF 42 58 jump to subroutine $5842 D0/57A7: BF 42 58 jump to subroutine $5842 D0/57AA: FF end of script D0/57AB: C9 31 play sound effect $31 D0/57AD: AF 60 set background color subtraction to 0 (red) D0/57AF: 89 1F loop start (31 times) D0/57B1: B6 61 increase background color subtraction by 1 (red) D0/57B3: 1F [---] D0/57B4: 8A loop end D0/57B5: BF 12 58 jump to subroutine $5812 D0/57B8: BF 12 58 jump to subroutine $5812 D0/57BB: BF 12 58 jump to subroutine $5812 D0/57BE: BF 12 58 jump to subroutine $5812 D0/57C1: BF 12 58 jump to subroutine $5812 D0/57C4: C9 89 play sound effect $89 D0/57C6: 84 02 set animation speed to 3 D0/57C8: 80 17 update sprite layer priority based on target D0/57CA: EC 01 change thread layer to bg1 D0/57CC: 8B 0D animated loop start (13 times, increment frame offset each time) D0/57CE: 80 3B change target's color palette to animation palette D0/57D0: 00 [$00] D0/57D1: 80 3C restore target's color palette D0/57D3: 00 [$00] D0/57D4: 8C animated loop end D0/57D5: 84 01 set animation speed to 2 D0/57D7: 89 C0 loop start (192 times) D0/57D9: 0F [$0F] D0/57DA: 8A loop end D0/57DB: 89 1F loop start (31 times) D0/57DD: B6 71 decrease background color subtraction by 1 (red) D0/57DF: 0F [$0F] D0/57E0: 8A loop end D0/57E1: FF end of script D0/57E2: 80 11 choose random polar angle D0/57E4: E8 B0 00 move in polar coordinates (-80,0) D0/57E7: 89 02 loop start (2 times) D0/57E9: E8 F8 00 move in polar coordinates (-8,0) D0/57EC: 05 [$05] D0/57ED: 8A loop end D0/57EE: 89 02 loop start (2 times) D0/57F0: E8 F8 00 move in polar coordinates (-8,0) D0/57F3: 04 [$04] D0/57F4: 8A loop end D0/57F5: 89 02 loop start (2 times) D0/57F7: E8 F8 00 move in polar coordinates (-8,0) D0/57FA: 03 [$03] D0/57FB: 8A loop end D0/57FC: 89 03 loop start (3 times) D0/57FE: E8 F8 00 move in polar coordinates (-8,0) D0/5801: 02 [$02] D0/5802: 8A loop end D0/5803: 89 03 loop start (3 times) D0/5805: E8 F8 00 move in polar coordinates (-8,0) D0/5808: 01 [$01] D0/5809: 8A loop end D0/580A: 89 04 loop start (4 times) D0/580C: E8 F8 00 move in polar coordinates (-8,0) D0/580F: 00 [$00] D0/5810: 8A loop end D0/5811: C0 return from subroutine D0/5812: 80 11 choose random polar angle D0/5814: E8 B0 00 move in polar coordinates (-80,0) D0/5817: 89 02 loop start (2 times) D0/5819: E8 F8 00 move in polar coordinates (-8,0) D0/581C: 05 [$05] D0/581D: 8A loop end D0/581E: 89 02 loop start (2 times) D0/5820: E8 F8 00 move in polar coordinates (-8,0) D0/5823: 04 [$04] D0/5824: 8A loop end D0/5825: 89 02 loop start (2 times) D0/5827: E8 F8 00 move in polar coordinates (-8,0) D0/582A: 03 [$03] D0/582B: 8A loop end D0/582C: 89 03 loop start (3 times) D0/582E: E8 F8 00 move in polar coordinates (-8,0) D0/5831: 02 [$02] D0/5832: 8A loop end D0/5833: 89 03 loop start (3 times) D0/5835: E8 F8 00 move in polar coordinates (-8,0) D0/5838: 01 [$01] D0/5839: 8A loop end D0/583A: 89 04 loop start (4 times) D0/583C: E8 F8 00 move in polar coordinates (-8,0) D0/583F: 00 [$00] D0/5840: 8A loop end D0/5841: C0 return from subroutine D0/5842: 80 11 choose random polar angle D0/5844: 89 02 loop start (2 times) D0/5846: E8 0C 00 move in polar coordinates (12,0) D0/5849: 00 [$00] D0/584A: 8A loop end D0/584B: 89 02 loop start (2 times) D0/584D: E8 0C 00 move in polar coordinates (12,0) D0/5850: 01 [$01] D0/5851: 8A loop end D0/5852: 89 02 loop start (2 times) D0/5854: E8 0C 00 move in polar coordinates (12,0) D0/5857: 02 [$02] D0/5858: 8A loop end D0/5859: 89 02 loop start (2 times) D0/585B: E8 0C 00 move in polar coordinates (12,0) D0/585E: 03 [$03] D0/585F: 8A loop end D0/5860: 89 02 loop start (2 times) D0/5862: E8 0C 00 move in polar coordinates (12,0) D0/5865: 04 [$04] D0/5866: 8A loop end D0/5867: 89 02 loop start (2 times) D0/5869: E8 0C 00 move in polar coordinates (12,0) D0/586C: 05 [$05] D0/586D: 8A loop end D0/586E: C0 return from subroutine ; [ Animation Script $00EA: Bolt 3, Giga Volt (sprite) ] D0/586F: 10 00 speed 2, align to bottom of character/monster D0/5871: D1 01 invalidate character/monster sprite priority D0/5873: EB jump based on thread ($588C, $587A, $5882) D0/587A: 1F [---] D0/587B: 83 8C move back 13 D0/587D: 8B 09 animated loop start (9 times, increment frame offset each time) D0/587F: 00 [$00] D0/5880: 8C animated loop end D0/5881: FF end of script D0/5882: 1F [---] D0/5883: 1F [---] D0/5884: 1F [---] D0/5885: 83 6C move forward 13 D0/5887: 8B 09 animated loop start (9 times, increment frame offset each time) D0/5889: 00 [$00] D0/588A: 8C animated loop end D0/588B: FF end of script D0/588C: C9 00 play default sound effect D0/588E: B0 FF set background color addition to 31 (white) D0/5890: 84 01 set animation speed to 2 D0/5892: 00 [$00] D0/5893: B5 F4 decrease background color addition by 4 (white) D0/5895: 01 [$01] D0/5896: B5 F4 decrease background color addition by 4 (white) D0/5898: 02 [$02] D0/5899: B5 F4 decrease background color addition by 4 (white) D0/589B: 03 [$03] D0/589C: B5 F4 decrease background color addition by 4 (white) D0/589E: 80 3B change target's color palette to animation palette D0/58A0: 04 [$04] D0/58A1: B5 F4 decrease background color addition by 4 (white) D0/58A3: 80 3C restore target's color palette D0/58A5: 05 [$05] D0/58A6: B5 F4 decrease background color addition by 4 (white) D0/58A8: 80 3B change target's color palette to animation palette D0/58AA: 06 [$06] D0/58AB: B5 F4 decrease background color addition by 4 (white) D0/58AD: 80 3C restore target's color palette D0/58AF: 07 [$07] D0/58B0: B5 F4 decrease background color addition by 4 (white) D0/58B2: 80 3B change target's color palette to animation palette D0/58B4: 08 [$08] D0/58B5: 80 3C restore target's color palette D0/58B7: 09 [$09] D0/58B8: 84 02 set animation speed to 3 D0/58BA: 80 17 update sprite layer priority based on target D0/58BC: 0A [$0A] D0/58BD: EC 01 change thread layer to bg1 D0/58BF: 8B 0D animated loop start (13 times, increment frame offset each time) D0/58C1: 00 [$00] D0/58C2: 8C animated loop end D0/58C3: FF end of script ; [ Animation Script $00E3: Break (bg1) ] D0/58C4: 00 20 speed 1, align to center of character/monster D0/58C6: D1 01 invalidate character/monster sprite priority D0/58C8: C9 00 play default sound effect D0/58CA: DD 00 00 50 00 init triangle with diameter 80 D0/58CF: DF move triangle to target position D0/58D0: DC update triangle 2d D0/58D1: 00 [$00] D0/58D2: BD A0 hide bg1 thread D0/58D4: 89 06 loop start (6 times) D0/58D6: E0 00 00 00 08 move triangle (+0,+0), rotate +8 units D0/58DB: DC update triangle 2d D0/58DC: 00 [$00] D0/58DD: 8A loop end D0/58DE: 89 13 loop start (19 times) D0/58E0: E0 00 00 FC 08 move triangle (+0,+0) and change diameter by -4, rotate +8 units D0/58E5: DC update triangle 2d D0/58E6: 00 [$00] D0/58E7: 8A loop end D0/58E8: DD 00 00 00 00 init triangle D0/58ED: DC update triangle 2d D0/58EE: C9 47 play sound effect $47 D0/58F0: BF EA 60 jump to subroutine $60EA D0/58F3: FF end of script ; [ Animation Script $00E2: Break (sprite) ] D0/58F4: 00 20 speed 1, align to center of character/monster D0/58F6: 80 16 command $80/$16 D0/58F8: EB jump based on thread ($5926, $592D, $5934, $593B, $5942, $5949, $5950, $5957) D0/5909: 89 06 loop start (6 times) D0/590B: E8 00 08 move in polar coordinates (0,8) D0/590E: 03 [$03] D0/590F: 8A loop end D0/5910: 89 06 loop start (6 times) D0/5912: E8 FC 08 move in polar coordinates (-4,8) D0/5915: 02 [$02] D0/5916: 8A loop end D0/5917: 89 06 loop start (6 times) D0/5919: E8 FC 08 move in polar coordinates (-4,8) D0/591C: 01 [$01] D0/591D: 8A loop end D0/591E: 89 06 loop start (6 times) D0/5920: E8 FC 08 move in polar coordinates (-4,8) D0/5923: 00 [$00] D0/5924: 8A loop end D0/5925: C0 return from subroutine D0/5926: E8 50 00 move in polar coordinates (80,0) D0/5929: BF 09 59 jump to subroutine $5909 D0/592C: FF end of script D0/592D: E8 50 20 move in polar coordinates (80,32) D0/5930: BF 09 59 jump to subroutine $5909 D0/5933: FF end of script D0/5934: E8 50 40 move in polar coordinates (80,64) D0/5937: BF 09 59 jump to subroutine $5909 D0/593A: FF end of script D0/593B: E8 50 60 move in polar coordinates (80,96) D0/593E: BF 09 59 jump to subroutine $5909 D0/5941: FF end of script D0/5942: E8 50 80 move in polar coordinates (80,-128) D0/5945: BF 09 59 jump to subroutine $5909 D0/5948: FF end of script D0/5949: E8 50 A0 move in polar coordinates (80,-96) D0/594C: BF 09 59 jump to subroutine $5909 D0/594F: FF end of script D0/5950: E8 50 C0 move in polar coordinates (80,-64) D0/5953: BF 09 59 jump to subroutine $5909 D0/5956: FF end of script D0/5957: E8 50 E0 move in polar coordinates (80,-32) D0/595A: BF 09 59 jump to subroutine $5909 D0/595D: FF end of script ; [ Animation Script $00DE: Ice 2, N. Cross (sprite) ] D0/595E: 00 20 speed 1, align to center of character/monster D0/5960: D1 01 invalidate character/monster sprite priority D0/5962: C9 00 play default sound effect D0/5964: 8B 10 animated loop start (16 times, increment frame offset each time) D0/5966: 00 [$00] D0/5967: 00 [$00] D0/5968: 00 [$00] D0/5969: 8C animated loop end D0/596A: 11 [$11] D0/596B: 11 [$11] D0/596C: 11 [$11] D0/596D: 80 3B change target's color palette to animation palette D0/596F: 12 [$12] D0/5970: 12 [$12] D0/5971: 12 [$12] D0/5972: 80 3C restore target's color palette D0/5974: 13 [$13] D0/5975: 13 [$13] D0/5976: 13 [$13] D0/5977: 80 3B change target's color palette to animation palette D0/5979: 14 [$14] D0/597A: 14 [$14] D0/597B: 14 [$14] D0/597C: 80 3C restore target's color palette D0/597E: 15 [$15] D0/597F: 15 [$15] D0/5980: 15 [$15] D0/5981: 80 3B change target's color palette to animation palette D0/5983: 16 [$16] D0/5984: 16 [$16] D0/5985: 16 [$16] D0/5986: 80 3C restore target's color palette D0/5988: 17 [$17] D0/5989: 17 [$17] D0/598A: 80 17 update sprite layer priority based on target D0/598C: 17 [$17] D0/598D: EC 01 change thread layer to bg1 D0/598F: F7 A0 wait until scanline 160 D0/5991: C9 37 play sound effect $37 D0/5993: D4 02 01 10 add (sprites) to (bg1) D0/5997: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/5999: 89 0F loop start (15 times) D0/599B: 00 [$00] D0/599C: 8A loop end D0/599D: F7 A0 wait until scanline 160 D0/599F: D4 02 01 12 add (sprites, bg2) to (bg1) D0/59A3: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/59A5: 89 07 loop start (7 times) D0/59A7: CF E4 increase bg1 animation palette color subtraction by 4 (black) D0/59A9: 00 [$00] D0/59AA: 8A loop end D0/59AB: FF end of script ; [ Animation Script $00DC: Ice (sprite) ] D0/59AC: 00 00 speed 1, align to bottom of character/monster D0/59AE: D1 01 invalidate character/monster sprite priority D0/59B0: C9 00 play default sound effect D0/59B2: 8B 0F animated loop start (15 times, increment frame offset each time) D0/59B4: 00 [$00] D0/59B5: 8C animated loop end D0/59B6: 80 3B change target's color palette to animation palette D0/59B8: 10 [$10] D0/59B9: 11 [$11] D0/59BA: 80 3C restore target's color palette D0/59BC: 12 [$12] D0/59BD: 13 [$13] D0/59BE: 80 3B change target's color palette to animation palette D0/59C0: C9 18 play sound effect $18 D0/59C2: 80 17 update sprite layer priority based on target D0/59C4: EC 01 change thread layer to bg1 D0/59C6: 00 [$00] D0/59C7: 00 [$00] D0/59C8: 01 [$01] D0/59C9: 01 [$01] D0/59CA: 80 3C restore target's color palette D0/59CC: 02 [$02] D0/59CD: 02 [$02] D0/59CE: 03 [$03] D0/59CF: 03 [$03] D0/59D0: 04 [$04] D0/59D1: 04 [$04] D0/59D2: 05 [$05] D0/59D3: 05 [$05] D0/59D4: FF end of script ; [ Animation Script $0099: Flare (bg1) ] D0/59D5: 00 00 speed 1, align to bottom of character/monster D0/59D7: FF end of script ; [ Animation Script $00DA: Merton (sprite) ] D0/59D8: 00 20 speed 1, align to center of character/monster D0/59DA: 89 40 loop start (64 times) D0/59DC: 87 61 move target forward 2 D0/59DE: 1F [---] D0/59DF: 87 81 move target back 2 D0/59E1: 1F [---] D0/59E2: 8A loop end D0/59E3: FF end of script ; [ Animation Script $00D9: Merton (bg3) ] D0/59E4: 00 A0 speed 1, align to center of screen D0/59E6: 80 8C 00 play sound effect $00 (pan center) D0/59E9: D1 01 invalidate character/monster sprite priority D0/59EB: C4 40 move bg3 thread to this thread's position D0/59ED: AA FF set bg3 animation palette color subtraction to 31 (black) D0/59EF: AF E0 set background color subtraction to 0 (black) D0/59F1: 00 [$00] D0/59F2: EA 41 set bg3 tile data quadrant to 1 D0/59F4: 00 [$00] D0/59F5: BD 50 hide bg3 thread D0/59F7: AC 42 44 set (bg2) hdma scroll data (amplitude 4, frequency 2, horizontal) D0/59FA: 89 0F loop start (15 times) D0/59FC: B4 F1 decrease bg3 animation palette color subtraction by 1 (black) D0/59FE: 83 67 move forward 8 D0/5A00: AE 42 update (bg2) hdma scroll data (horizontal) D0/5A02: 00 [$00] D0/5A03: 8A loop end D0/5A04: 89 0F loop start (15 times) D0/5A06: B4 F1 decrease bg3 animation palette color subtraction by 1 (black) D0/5A08: B6 E1 increase background color subtraction by 1 (black) D0/5A0A: 83 67 move forward 8 D0/5A0C: AE 42 update (bg2) hdma scroll data (horizontal) D0/5A0E: 00 [$00] D0/5A0F: 8A loop end D0/5A10: 89 60 loop start (96 times) D0/5A12: 83 67 move forward 8 D0/5A14: AE 42 update (bg2) hdma scroll data (horizontal) D0/5A16: 00 [$00] D0/5A17: 8A loop end D0/5A18: 89 20 loop start (32 times) D0/5A1A: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/5A1C: B6 F1 decrease background color subtraction by 1 (black) D0/5A1E: 83 67 move forward 8 D0/5A20: AE 42 update (bg2) hdma scroll data (horizontal) D0/5A22: 00 [$00] D0/5A23: 8A loop end D0/5A24: AC 40 40 set (bg2) hdma scroll data (amplitude 0, frequency 0, horizontal) D0/5A27: AE 42 update (bg2) hdma scroll data (horizontal) D0/5A29: C9 FF play sound effect $FF D0/5A2B: BD 40 show bg3 thread D0/5A2D: EA 41 set bg3 tile data quadrant to 1 D0/5A2F: 09 [$09] D0/5A30: FF end of script ; [ Animation Script $00D8: X-Zone (sprite) ] D0/5A31: 00 A0 speed 1, align to center of screen D0/5A33: 80 72 01 branch to $5A37 if attack hit D0/5A36: FF end of script D0/5A37: 80 8A command $80/$8A D0/5A39: 89 25 loop start (37 times) D0/5A3B: 1F [---] D0/5A3C: 8A loop end D0/5A3D: 89 12 loop start (18 times) D0/5A3F: 1F [---] D0/5A40: 8A loop end D0/5A41: F1 80 hide target monster sprite D0/5A43: FF end of script ; [ Animation Script $00D2: X-Zone (bg3) ] D0/5A44: 00 A0 speed 1, align to center of screen D0/5A46: D1 01 invalidate character/monster sprite priority D0/5A48: 80 8C 00 play sound effect $00 (pan center) D0/5A4B: C4 40 move bg3 thread to this thread's position D0/5A4D: 00 [$00] D0/5A4E: BD 50 hide bg3 thread D0/5A50: A5 80 64 50 DE FF 80 00 init circle at (128,100) D0/5A58: AD 87 set bg3 hdma scroll type to 7 D0/5A5A: AC 22 44 set (bg3) hdma scroll data (amplitude 4, frequency 2, horizontal) D0/5A5D: B0 FF set background color addition to 31 (white) D0/5A5F: AB FF set bg3 animation palette color addition to 31 (white) D0/5A61: 89 25 loop start (37 times) D0/5A63: A6 00 00 FF move circle (+0,+0) and shrink by 1 D0/5A67: A7 update circle D0/5A68: AE 41 update (bg3) hdma scroll data (horizontal) D0/5A6A: B5 F2 decrease background color addition by 2 (white) D0/5A6C: B3 F2 decrease bg3 animation palette color addition by 2 (white) D0/5A6E: 00 [$00] D0/5A6F: 8A loop end D0/5A70: 89 12 loop start (18 times) D0/5A72: A6 00 00 FE move circle (+0,+0) and shrink by 2 D0/5A76: A7 update circle D0/5A77: AE 41 update (bg3) hdma scroll data (horizontal) D0/5A79: B5 F2 decrease background color addition by 2 (white) D0/5A7B: B3 F2 decrease bg3 animation palette color addition by 2 (white) D0/5A7D: 00 [$00] D0/5A7E: 8A loop end D0/5A7F: 80 24 clear bg3 hdma scroll data D0/5A81: AD 85 set bg3 hdma scroll type to 5 D0/5A83: FF end of script ; [ Animation Script $00D1: Quake (bg1) ] D0/5A84: 00 A0 speed 1, align to center of screen D0/5A86: 80 8C 00 play sound effect $00 (pan center) D0/5A89: D1 01 invalidate character/monster sprite priority D0/5A8B: D0 30 set tile priority to 3 for all character/monster sprites D0/5A8D: C4 80 move bg1 thread to this thread's position D0/5A8F: A5 80 90 02 DE FF 7F 00 init circle at (128,144) D0/5A97: 00 [$00] D0/5A98: BD 50 hide bg3 thread D0/5A9A: 89 0F loop start (15 times) D0/5A9C: D6 01 00 scroll background to (1,0) D0/5A9F: A6 00 00 04 move circle (+0,+0) and grow by 4 D0/5AA3: A7 update circle D0/5AA4: 00 [$00] D0/5AA5: D6 FF 00 scroll background to (-1,0) D0/5AA8: A6 00 00 04 move circle (+0,+0) and grow by 4 D0/5AAC: A7 update circle D0/5AAD: 00 [$00] D0/5AAE: 8A loop end D0/5AAF: 89 20 loop start (32 times) D0/5AB1: D6 02 00 scroll background to (2,0) D0/5AB4: 83 61 move forward 2 D0/5AB6: A6 02 00 00 move circle (+2,+0) D0/5ABA: A7 update circle D0/5ABB: 00 [$00] D0/5ABC: D6 FE 00 scroll background to (-2,0) D0/5ABF: 83 81 move back 2 D0/5AC1: A6 FE 00 00 move circle (-2,+0) D0/5AC5: A7 update circle D0/5AC6: 00 [$00] D0/5AC7: 8A loop end D0/5AC8: 89 0B loop start (11 times) D0/5ACA: D6 01 00 scroll background to (1,0) D0/5ACD: A6 00 00 FC move circle (+0,+0) and shrink by 4 D0/5AD1: A7 update circle D0/5AD2: 00 [$00] D0/5AD3: D6 FF 00 scroll background to (-1,0) D0/5AD6: A6 00 00 FC move circle (+0,+0) and shrink by 4 D0/5ADA: A7 update circle D0/5ADB: 00 [$00] D0/5ADC: 8A loop end D0/5ADD: D6 00 00 scroll background to (0,0) D0/5AE0: FF end of script ; [ Animation Script $00CF: Meteor (bg1) ] D0/5AE1: 00 A0 speed 1, align to center of screen D0/5AE3: D1 01 invalidate character/monster sprite priority D0/5AE5: 80 8C 00 play sound effect $00 (pan center) D0/5AE8: D0 20 set tile priority to 2 for all character/monster sprites D0/5AEA: C4 80 move bg1 thread to this thread's position D0/5AEC: A5 80 50 02 DE FF 7F 00 init circle at (128,80) D0/5AF4: 00 [$00] D0/5AF5: BD 50 hide bg3 thread D0/5AF7: AF 60 set background color subtraction to 0 (red) D0/5AF9: 89 0F loop start (15 times) D0/5AFB: B6 63 increase background color subtraction by 3 (red) D0/5AFD: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/5B00: A6 00 00 08 move circle (+0,+0) and grow by 8 D0/5B04: A7 update circle D0/5B05: 00 [$00] D0/5B06: 8A loop end D0/5B07: 89 C4 loop start (196 times) D0/5B09: A3 17 33 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/5B0C: 00 [$00] D0/5B0D: 8A loop end D0/5B0E: 89 20 loop start (32 times) D0/5B10: A3 17 33 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/5B13: 00 [$00] D0/5B14: 8A loop end D0/5B15: 89 0E loop start (14 times) D0/5B17: B6 73 decrease background color subtraction by 3 (red) D0/5B19: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/5B1C: A6 00 00 F8 move circle (+0,+0) and shrink by 8 D0/5B20: A7 update circle D0/5B21: 00 [$00] D0/5B22: 8A loop end D0/5B23: FF end of script ; [ Animation Script $00D0: Meteor (bg3) ] D0/5B24: 00 A0 speed 1, align to center of screen D0/5B26: D0 30 set tile priority to 3 for all character/monster sprites D0/5B28: C4 40 move bg3 thread to this thread's position D0/5B2A: 00 [$00] D0/5B2B: BD 50 hide bg3 thread D0/5B2D: 89 07 loop start (7 times) D0/5B2F: 00 [$00] D0/5B30: 00 [$00] D0/5B31: 00 [$00] D0/5B32: 00 [$00] D0/5B33: 8A loop end D0/5B34: 89 38 loop start (56 times) D0/5B36: 00 [$00] D0/5B37: 00 [$00] D0/5B38: 00 [$00] D0/5B39: 00 [$00] D0/5B3A: 8A loop end D0/5B3B: FF end of script ; [ Animation Script $00CE: Meteor (sprite) ] D0/5B3C: 00 A0 speed 1, align to center of screen D0/5B3E: 89 10 loop start (16 times) D0/5B40: 1F [---] D0/5B41: 8A loop end D0/5B42: EB jump based on thread ($5B4F, $5B4F, $5B4F, $5B6B, $5B6B, $5B6B) D0/5B4F: BF 7B 5B jump to subroutine $5B7B D0/5B52: BF 7B 5B jump to subroutine $5B7B D0/5B55: BF 7B 5B jump to subroutine $5B7B D0/5B58: BF 7B 5B jump to subroutine $5B7B D0/5B5B: BF 7B 5B jump to subroutine $5B7B D0/5B5E: BF 7B 5B jump to subroutine $5B7B D0/5B61: BF 7B 5B jump to subroutine $5B7B D0/5B64: BF 7B 5B jump to subroutine $5B7B D0/5B67: BF 7B 5B jump to subroutine $5B7B D0/5B6A: FF end of script D0/5B6B: BF C3 5B jump to subroutine $5BC3 D0/5B6E: BF C3 5B jump to subroutine $5BC3 D0/5B71: BF C3 5B jump to subroutine $5BC3 D0/5B74: BF C3 5B jump to subroutine $5BC3 D0/5B77: BF C3 5B jump to subroutine $5BC3 D0/5B7A: FF end of script D0/5B7B: 80 11 choose random polar angle D0/5B7D: 83 47 move down/back 8 D0/5B7F: 89 01 loop start (1 times) D0/5B81: E8 08 00 move in polar coordinates (8,0) D0/5B84: 00 [$00] D0/5B85: 8A loop end D0/5B86: 89 01 loop start (1 times) D0/5B88: E8 08 00 move in polar coordinates (8,0) D0/5B8B: 01 [$01] D0/5B8C: 8A loop end D0/5B8D: 89 01 loop start (1 times) D0/5B8F: E8 08 00 move in polar coordinates (8,0) D0/5B92: 02 [$02] D0/5B93: 8A loop end D0/5B94: 89 01 loop start (1 times) D0/5B96: E8 08 00 move in polar coordinates (8,0) D0/5B99: 03 [$03] D0/5B9A: 8A loop end D0/5B9B: 89 01 loop start (1 times) D0/5B9D: E8 08 00 move in polar coordinates (8,0) D0/5BA0: 04 [$04] D0/5BA1: 8A loop end D0/5BA2: 89 01 loop start (1 times) D0/5BA4: E8 10 00 move in polar coordinates (16,0) D0/5BA7: 05 [$05] D0/5BA8: 8A loop end D0/5BA9: 83 A3 move up/forward 4 D0/5BAB: 89 01 loop start (1 times) D0/5BAD: E8 10 00 move in polar coordinates (16,0) D0/5BB0: 06 [$06] D0/5BB1: 8A loop end D0/5BB2: 83 A3 move up/forward 4 D0/5BB4: 89 02 loop start (2 times) D0/5BB6: E8 10 00 move in polar coordinates (16,0) D0/5BB9: 07 [$07] D0/5BBA: 8A loop end D0/5BBB: 89 02 loop start (2 times) D0/5BBD: E8 10 00 move in polar coordinates (16,0) D0/5BC0: 08 [$08] D0/5BC1: 8A loop end D0/5BC2: C0 return from subroutine D0/5BC3: 80 11 choose random polar angle D0/5BC5: 83 47 move down/back 8 D0/5BC7: 89 01 loop start (1 times) D0/5BC9: E8 04 00 move in polar coordinates (4,0) D0/5BCC: 00 [$00] D0/5BCD: 8A loop end D0/5BCE: 89 01 loop start (1 times) D0/5BD0: E8 04 00 move in polar coordinates (4,0) D0/5BD3: 01 [$01] D0/5BD4: 8A loop end D0/5BD5: 89 01 loop start (1 times) D0/5BD7: E8 06 00 move in polar coordinates (6,0) D0/5BDA: 02 [$02] D0/5BDB: 8A loop end D0/5BDC: 89 02 loop start (2 times) D0/5BDE: E8 06 00 move in polar coordinates (6,0) D0/5BE1: 03 [$03] D0/5BE2: 8A loop end D0/5BE3: 89 02 loop start (2 times) D0/5BE5: E8 08 00 move in polar coordinates (8,0) D0/5BE8: 04 [$04] D0/5BE9: 8A loop end D0/5BEA: 89 02 loop start (2 times) D0/5BEC: E8 08 00 move in polar coordinates (8,0) D0/5BEF: 05 [$05] D0/5BF0: 8A loop end D0/5BF1: 83 A3 move up/forward 4 D0/5BF3: 89 03 loop start (3 times) D0/5BF5: E8 0C 00 move in polar coordinates (12,0) D0/5BF8: 06 [$06] D0/5BF9: 8A loop end D0/5BFA: 83 A3 move up/forward 4 D0/5BFC: 89 03 loop start (3 times) D0/5BFE: E8 0C 00 move in polar coordinates (12,0) D0/5C01: 07 [$07] D0/5C02: 8A loop end D0/5C03: 89 03 loop start (3 times) D0/5C05: E8 0C 00 move in polar coordinates (12,0) D0/5C08: 08 [$08] D0/5C09: 8A loop end D0/5C0A: C0 return from subroutine ; [ Animation Script $00CC: Poison (sprite) ] D0/5C0B: 20 00 speed 3, align to bottom of character/monster D0/5C0D: C9 00 play default sound effect D0/5C0F: 8B 1A animated loop start (26 times, increment frame offset each time) D0/5C11: 00 [$00] D0/5C12: 8C animated loop end D0/5C13: FF end of script ; [ Animation Script $00CD: Doom, Roulette (sprite) ] D0/5C14: 00 40 speed 1, align to top of character/monster D0/5C16: 80 72 01 branch to $5C1A if attack hit D0/5C19: FF end of script D0/5C1A: C9 00 play default sound effect D0/5C1C: D1 01 invalidate character/monster sprite priority D0/5C1E: 90 20 set animation tile priority to 2 D0/5C20: F0 jump based on target ($5C2B, $5C2B, $5C2B, $5C2B, $5C2F) D0/5C2B: 83 CF move up 16 D0/5C2D: 83 83 move back 4 D0/5C2F: 89 A0 loop start (160 times) D0/5C31: 83 C0 move up 1 D0/5C33: 00 [$00] D0/5C34: 8A loop end D0/5C35: FF end of script D0/5C36: BD A0 hide bg1 thread D0/5C38: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/5C3A: 89 10 loop start (16 times) D0/5C3C: 83 C0 move up 1 D0/5C3E: 1F [---] D0/5C3F: CF E2 increase bg1 animation palette color subtraction by 2 (black) D0/5C41: 8A loop end D0/5C42: D0 30 set tile priority to 3 for all character/monster sprites D0/5C44: BD 80 show bg1 thread D0/5C46: C0 return from subroutine ; [ Animation Script $003C: Doom, Roulette (bg1) ] D0/5C47: 00 20 speed 1, align to center of character/monster D0/5C49: 80 72 01 branch to $5C4D if attack hit D0/5C4C: FF end of script D0/5C4D: EE 20 set target sprite tile priority to 2 D0/5C4F: F0 jump based on target ($5C6D, $5C87, $5CA1, $5CBB, $5C5A) D0/5C5A: C4 80 move bg1 thread to this thread's position D0/5C5C: BD A0 hide bg1 thread D0/5C5E: 89 58 loop start (88 times) D0/5C60: 83 C0 move up 1 D0/5C62: 0F [$0F] D0/5C63: 8A loop end D0/5C64: BF 36 5C jump to subroutine $5C36 D0/5C67: C4 80 move bg1 thread to this thread's position D0/5C69: BD A0 hide bg1 thread D0/5C6B: 0F [$0F] D0/5C6C: FF end of script D0/5C6D: EA 81 set bg1 tile data quadrant to 1 D0/5C6F: 0F [$0F] D0/5C70: EA 82 set bg1 tile data quadrant to 2 D0/5C72: 0F [$0F] D0/5C73: EA 83 set bg1 tile data quadrant to 3 D0/5C75: 0F [$0F] D0/5C76: 89 58 loop start (88 times) D0/5C78: 83 C0 move up 1 D0/5C7A: 00 [$00] D0/5C7B: 8A loop end D0/5C7C: BF 36 5C jump to subroutine $5C36 D0/5C7F: 83 3F move down 32 D0/5C81: 83 3F move down 32 D0/5C83: 83 38 move down 25 D0/5C85: 0F [$0F] D0/5C86: FF end of script D0/5C87: EA 81 set bg1 tile data quadrant to 1 D0/5C89: 0F [$0F] D0/5C8A: EA 82 set bg1 tile data quadrant to 2 D0/5C8C: 0F [$0F] D0/5C8D: EA 83 set bg1 tile data quadrant to 3 D0/5C8F: 0F [$0F] D0/5C90: 89 58 loop start (88 times) D0/5C92: 83 C0 move up 1 D0/5C94: 01 [$01] D0/5C95: 8A loop end D0/5C96: BF 36 5C jump to subroutine $5C36 D0/5C99: 83 3F move down 32 D0/5C9B: 83 3F move down 32 D0/5C9D: 83 38 move down 25 D0/5C9F: 0F [$0F] D0/5CA0: FF end of script D0/5CA1: EA 81 set bg1 tile data quadrant to 1 D0/5CA3: 0F [$0F] D0/5CA4: EA 82 set bg1 tile data quadrant to 2 D0/5CA6: 0F [$0F] D0/5CA7: EA 83 set bg1 tile data quadrant to 3 D0/5CA9: 0F [$0F] D0/5CAA: 89 58 loop start (88 times) D0/5CAC: 83 C0 move up 1 D0/5CAE: 02 [$02] D0/5CAF: 8A loop end D0/5CB0: BF 36 5C jump to subroutine $5C36 D0/5CB3: 83 3F move down 32 D0/5CB5: 83 3F move down 32 D0/5CB7: 83 38 move down 25 D0/5CB9: 0F [$0F] D0/5CBA: FF end of script D0/5CBB: EA 81 set bg1 tile data quadrant to 1 D0/5CBD: 0F [$0F] D0/5CBE: EA 82 set bg1 tile data quadrant to 2 D0/5CC0: 0F [$0F] D0/5CC1: EA 83 set bg1 tile data quadrant to 3 D0/5CC3: 0F [$0F] D0/5CC4: 89 58 loop start (88 times) D0/5CC6: 83 C0 move up 1 D0/5CC8: 03 [$03] D0/5CC9: 8A loop end D0/5CCA: BF 36 5C jump to subroutine $5C36 D0/5CCD: 83 3F move down 32 D0/5CCF: 83 3F move down 32 D0/5CD1: 83 38 move down 25 D0/5CD3: 0F [$0F] D0/5CD4: FF end of script ; [ Animation Script $00C6: Bolt (sprite) ] D0/5CD5: 20 00 speed 3, align to bottom of character/monster D0/5CD7: D1 01 invalidate character/monster sprite priority D0/5CD9: 90 00 set animation tile priority to 0 D0/5CDB: 83 9F move back 32 D0/5CDD: 83 9F move back 32 D0/5CDF: C9 00 play default sound effect D0/5CE1: 00 [$00] D0/5CE2: 01 [$01] D0/5CE3: 02 [$02] D0/5CE4: 03 [$03] D0/5CE5: 80 3B change target's color palette to animation palette D0/5CE7: 04 [$04] D0/5CE8: 80 3C restore target's color palette D0/5CEA: 05 [$05] D0/5CEB: 80 3B change target's color palette to animation palette D0/5CED: 06 [$06] D0/5CEE: 80 3C restore target's color palette D0/5CF0: 07 [$07] D0/5CF1: 80 3B change target's color palette to animation palette D0/5CF3: 08 [$08] D0/5CF4: 80 3C restore target's color palette D0/5CF6: 09 [$09] D0/5CF7: F4 01 show sprite behind character/monster sprites D0/5CF9: 0A [$0A] D0/5CFA: 0B [$0B] D0/5CFB: 0C [$0C] D0/5CFC: F4 00 show sprite in front of character/monster sprites D0/5CFE: 0D [$0D] D0/5CFF: 0E [$0E] D0/5D00: 0F [$0F] D0/5D01: FF end of script ; [ Animation Script $00C7: Bolt 2, Mega Volt (sprite) ] D0/5D02: 00 00 speed 1, align to bottom of character/monster D0/5D04: D1 01 invalidate character/monster sprite priority D0/5D06: C9 00 play default sound effect D0/5D08: 8B 10 animated loop start (16 times, increment frame offset each time) D0/5D0A: 00 [$00] D0/5D0B: 8C animated loop end D0/5D0C: 80 3B change target's color palette to animation palette D0/5D0E: 11 [$11] D0/5D0F: 12 [$12] D0/5D10: 80 3C restore target's color palette D0/5D12: 13 [$13] D0/5D13: 14 [$14] D0/5D14: 80 3B change target's color palette to animation palette D0/5D16: 15 [$15] D0/5D17: 16 [$16] D0/5D18: 80 3C restore target's color palette D0/5D1A: 17 [$17] D0/5D1B: 18 [$18] D0/5D1C: 80 3B change target's color palette to animation palette D0/5D1E: 19 [$19] D0/5D1F: 1A [$1A] D0/5D20: 80 3C restore target's color palette D0/5D22: 84 04 set animation speed to 5 D0/5D24: EC 01 change thread layer to bg1 D0/5D26: 80 17 update sprite layer priority based on target D0/5D28: 00 [$00] D0/5D29: 01 [$01] D0/5D2A: 02 [$02] D0/5D2B: 03 [$03] D0/5D2C: 04 [$04] D0/5D2D: FF end of script ; [ Animation Script $00C2: Fire 2 (sprite) ] D0/5D2E: 30 00 speed 4, align to bottom of character/monster D0/5D30: D1 01 invalidate character/monster sprite priority D0/5D32: C9 00 play default sound effect D0/5D34: 00 [$00] D0/5D35: 01 [$01] D0/5D36: 80 3B change target's color palette to animation palette D0/5D38: 02 [$02] D0/5D39: 80 3C restore target's color palette D0/5D3B: 03 [$03] D0/5D3C: 80 3B change target's color palette to animation palette D0/5D3E: 04 [$04] D0/5D3F: EC 01 change thread layer to bg1 D0/5D41: 80 17 update sprite layer priority based on target D0/5D43: 83 69 move forward 10 D0/5D45: 00 [$00] D0/5D46: 80 3C restore target's color palette D0/5D48: 01 [$01] D0/5D49: 02 [$02] D0/5D4A: 03 [$03] D0/5D4B: 04 [$04] D0/5D4C: FF end of script ; [ Animation Script $00C1: Fire, Blaze (sprite) ] D0/5D4D: 40 00 speed 5, align to bottom of character/monster D0/5D4F: 90 00 set animation tile priority to 0 D0/5D51: EB jump based on thread ($5D58, $5D5E, $5D65) D0/5D58: C9 00 play default sound effect D0/5D5A: 80 3B change target's color palette to animation palette D0/5D5C: 83 99 move back 26 D0/5D5E: 8B 04 animated loop start (4 times, increment frame offset each time) D0/5D60: 00 [$00] D0/5D61: 80 3C restore target's color palette D0/5D63: 8C animated loop end D0/5D64: FF end of script D0/5D65: 83 79 move forward 26 D0/5D67: 8B 04 animated loop start (4 times, increment frame offset each time) D0/5D69: 00 [$00] D0/5D6A: 8C animated loop end D0/5D6B: FF end of script ; [ Animation Script $00BE: Dispel (sprite) ] D0/5D6C: 00 20 speed 1, align to center of character/monster D0/5D6E: BF 25 5F jump to subroutine $5F25 D0/5D71: 80 16 command $80/$16 D0/5D73: EB jump based on thread ($5D80, $5D88, $5D8E, $5D94, $5D9A, $5DA0) D0/5D80: D1 01 invalidate character/monster sprite priority D0/5D82: EF 28 00 move in flattened polar coordinates (40,0) D0/5D85: FA A3 5D jump to $5DA3 D0/5D88: EF 28 2A move in flattened polar coordinates (40,42) D0/5D8B: FA A3 5D jump to $5DA3 D0/5D8E: EF 28 54 move in flattened polar coordinates (40,84) D0/5D91: FA A3 5D jump to $5DA3 D0/5D94: EF 28 7E move in flattened polar coordinates (40,126) D0/5D97: FA A3 5D jump to $5DA3 D0/5D9A: EF 28 A8 move in flattened polar coordinates (40,-88) D0/5D9D: FA A3 5D jump to $5DA3 D0/5DA0: EF 28 D2 move in flattened polar coordinates (40,-46) D0/5DA3: 89 40 loop start (64 times) D0/5DA5: EF 00 FA move in flattened polar coordinates (0,-6) D0/5DA8: 80 21 update sprite layer priority based on polar movement angle D0/5DAA: 98 04 03 increment frame offset every 4 loops (0..3) D0/5DAD: 00 [$00] D0/5DAE: 8A loop end D0/5DAF: C2 80 unpause bg1 thread D0/5DB1: 89 14 loop start (20 times) D0/5DB3: 83 C7 move up 8 D0/5DB5: EF 06 FA move in flattened polar coordinates (6,-6) D0/5DB8: 80 21 update sprite layer priority based on polar movement angle D0/5DBA: 98 04 03 increment frame offset every 4 loops (0..3) D0/5DBD: 00 [$00] D0/5DBE: 8A loop end D0/5DBF: FF end of script ; [ Animation Script $00BF: Dispel (bg1) ] D0/5DC0: 00 20 speed 1, align to center of character/monster D0/5DC2: B0 FF set background color addition to 31 (white) D0/5DC4: 89 05 loop start (5 times) D0/5DC6: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/5DC9: B5 F1 decrease background color addition by 1 (white) D0/5DCB: 00 [$00] D0/5DCC: 8A loop end D0/5DCD: 89 05 loop start (5 times) D0/5DCF: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/5DD2: B5 F1 decrease background color addition by 1 (white) D0/5DD4: 01 [$01] D0/5DD5: 8A loop end D0/5DD6: 89 05 loop start (5 times) D0/5DD8: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/5DDB: B5 F1 decrease background color addition by 1 (white) D0/5DDD: 02 [$02] D0/5DDE: 8A loop end D0/5DDF: 89 05 loop start (5 times) D0/5DE1: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/5DE4: B5 F1 decrease background color addition by 1 (white) D0/5DE6: 03 [$03] D0/5DE7: 8A loop end D0/5DE8: 89 20 loop start (32 times) D0/5DEA: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/5DED: B5 F1 decrease background color addition by 1 (white) D0/5DEF: 04 [$04] D0/5DF0: 8A loop end D0/5DF1: FF end of script ; [ Animation Script $00BC: Warp, Warp Stone (bg1) ] D0/5DF2: 40 20 speed 5, align to center of character/monster D0/5DF4: 80 72 01 branch to $5DF8 if attack hit D0/5DF7: FF end of script D0/5DF8: 80 8C 00 play sound effect $00 (pan center) D0/5DFB: 0F [$0F] D0/5DFC: BE 13 set screen mosaic to $13 D0/5DFE: 0F [$0F] D0/5DFF: BE 23 set screen mosaic to $23 D0/5E01: 0F [$0F] D0/5E02: BE 33 set screen mosaic to $33 D0/5E04: 0F [$0F] D0/5E05: BE 43 set screen mosaic to $43 D0/5E07: 0F [$0F] D0/5E08: BE 53 set screen mosaic to $53 D0/5E0A: 0F [$0F] D0/5E0B: BE 63 set screen mosaic to $63 D0/5E0D: 0F [$0F] D0/5E0E: BE 73 set screen mosaic to $73 D0/5E10: 0F [$0F] D0/5E11: BE 93 set screen mosaic to $93 D0/5E13: 0F [$0F] D0/5E14: BE A3 set screen mosaic to $A3 D0/5E16: 0F [$0F] D0/5E17: BE B3 set screen mosaic to $B3 D0/5E19: 0F [$0F] D0/5E1A: BE C3 set screen mosaic to $C3 D0/5E1C: 0F [$0F] D0/5E1D: BE D3 set screen mosaic to $D3 D0/5E1F: 0F [$0F] D0/5E20: BE E3 set screen mosaic to $E3 D0/5E22: 0F [$0F] D0/5E23: BE F3 set screen mosaic to $F3 D0/5E25: 84 02 set animation speed to 3 D0/5E27: 89 0F loop start (15 times) D0/5E29: 80 1C decrement screen brightness D0/5E2B: 0F [$0F] D0/5E2C: 8A loop end D0/5E2D: FF end of script ; [ Animation Script $00B9: Vanish (bg1) ] D0/5E2E: 30 20 speed 4, align to center of character/monster D0/5E30: C9 00 play default sound effect D0/5E32: 8B 07 animated loop start (7 times, increment frame offset each time) D0/5E34: 00 [$00] D0/5E35: 8C animated loop end D0/5E36: 07 [$07] D0/5E37: 07 [$07] D0/5E38: 07 [$07] D0/5E39: 07 [$07] D0/5E3A: 07 [$07] D0/5E3B: 07 [$07] D0/5E3C: C9 47 play sound effect $47 D0/5E3E: 8B 07 animated loop start (7 times, increment frame offset each time) D0/5E40: 08 [$08] D0/5E41: 8C animated loop end D0/5E42: 80 72 01 branch to $5E46 if attack hit D0/5E45: FF end of script D0/5E46: 80 14 make target vanish D0/5E48: FF end of script ; [ Animation Script $00BD: Quick (sprite) ] D0/5E49: 40 20 speed 5, align to center of character/monster D0/5E4B: D1 01 invalidate character/monster sprite priority D0/5E4D: C9 00 play default sound effect D0/5E4F: 00 [$00] D0/5E50: 01 [$01] D0/5E51: 02 [$02] D0/5E52: 03 [$03] D0/5E53: 04 [$04] D0/5E54: 05 [$05] D0/5E55: 06 [$06] D0/5E56: 07 [$07] D0/5E57: C9 40 play sound effect $40 D0/5E59: 08 [$08] D0/5E5A: 09 [$09] D0/5E5B: 0A [$0A] D0/5E5C: 0B [$0B] D0/5E5D: 0C [$0C] D0/5E5E: 8C animated loop end D0/5E5F: FF end of script ; [ Animation Script $00B8: TekBarrier (bg3) ] D0/5E60: 00 20 speed 1, align to center of character/monster D0/5E62: 00 [$00] D0/5E63: BD 50 hide bg3 thread D0/5E65: 89 60 loop start (96 times) D0/5E67: 00 [$00] D0/5E68: 8A loop end D0/5E69: FF end of script ; [ Animation Script $00B6: TekBarrier (sprite) ] D0/5E6A: 30 20 speed 4, align to center of character/monster D0/5E6C: 83 AF move up/forward 16 D0/5E6E: E9 1F 1F move animation randomly (0..31,0..31) D0/5E71: 00 [$00] D0/5E72: 01 [$01] D0/5E73: 02 [$02] D0/5E74: 03 [$03] D0/5E75: 04 [$04] D0/5E76: 05 [$05] D0/5E77: 06 [$06] D0/5E78: 07 [$07] D0/5E79: 08 [$08] D0/5E7A: 09 [$09] D0/5E7B: 0A [$0A] D0/5E7C: FF end of script ; [ Animation Script $00B7: TekBarrier (bg1) ] D0/5E7D: 00 20 speed 1, align to center of character/monster D0/5E7F: C9 00 play default sound effect D0/5E81: D1 01 invalidate character/monster sprite priority D0/5E83: DD 00 00 00 00 init triangle D0/5E88: DF move triangle to target position D0/5E89: DC update triangle 2d D0/5E8A: 00 [$00] D0/5E8B: BD A0 hide bg1 thread D0/5E8D: 89 30 loop start (48 times) D0/5E8F: E0 00 00 02 08 move triangle (+0,+0) and change diameter by +2, rotate +8 units D0/5E94: DC update triangle 2d D0/5E95: A3 16 33 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/5E98: 00 [$00] D0/5E99: 8A loop end D0/5E9A: 89 30 loop start (48 times) D0/5E9C: E0 00 00 FE 08 move triangle (+0,+0) and change diameter by -2, rotate +8 units D0/5EA1: DC update triangle 2d D0/5EA2: A3 16 33 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/5EA5: 00 [$00] D0/5EA6: 8A loop end D0/5EA7: FF end of script ; [ Animation Script $00B4: Rflect (sprite) ] D0/5EA8: 20 20 speed 3, align to center of character/monster D0/5EAA: 89 02 loop start (2 times) D0/5EAC: C9 00 play default sound effect D0/5EAE: 00 [$00] D0/5EAF: 01 [$01] D0/5EB0: 02 [$02] D0/5EB1: 03 [$03] D0/5EB2: 8A loop end D0/5EB3: FF end of script ; [ Animation Script $00B5: Shell (bg1) ] D0/5EB4: 00 20 speed 1, align to center of character/monster D0/5EB6: C9 00 play default sound effect D0/5EB8: D1 01 invalidate character/monster sprite priority D0/5EBA: 00 [$00] D0/5EBB: BD A0 hide bg1 thread D0/5EBD: 89 40 loop start (64 times) D0/5EBF: A4 16 33 shift colors (1..7) of bg1 animation/esper palette right (3 loops per shift) D0/5EC2: 00 [$00] D0/5EC3: 8A loop end D0/5EC4: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/5EC6: 89 20 loop start (32 times) D0/5EC8: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/5ECA: A4 16 33 shift colors (1..7) of bg1 animation/esper palette right (3 loops per shift) D0/5ECD: 00 [$00] D0/5ECE: 8A loop end D0/5ECF: FF end of script ; [ Animation Script $00B2: Imp (sprite) ] D0/5ED0: 20 20 speed 3, align to center of character/monster D0/5ED2: 90 00 set animation tile priority to 0 D0/5ED4: 83 B0 move up/forward 17 D0/5ED6: C9 00 play default sound effect D0/5ED8: E9 1F 1F move animation randomly (0..31,0..31) D0/5EDB: 00 [$00] D0/5EDC: 01 [$01] D0/5EDD: 02 [$02] D0/5EDE: 03 [$03] D0/5EDF: 04 [$04] D0/5EE0: 05 [$05] D0/5EE1: C2 80 unpause bg1 thread D0/5EE3: FF end of script ; [ Animation Script $00B3: Imp (bg1) ] D0/5EE4: 00 20 speed 1, align to center of character/monster D0/5EE6: D1 01 invalidate character/monster sprite priority D0/5EE8: A5 00 00 00 FF FF 30 00 init circle at (0,0) D0/5EF0: 00 [$00] D0/5EF1: BD A0 hide bg1 thread D0/5EF3: C3 move circle to target D0/5EF4: C9 38 play sound effect $38 D0/5EF6: 89 2C loop start (44 times) D0/5EF8: A6 00 00 01 move circle (+0,+0) and grow by 1 D0/5EFC: A7 update circle D0/5EFD: 00 [$00] D0/5EFE: 8A loop end D0/5EFF: EE 20 set target sprite tile priority to 2 D0/5F01: 80 72 0A branch to $5F0E if attack hit D0/5F04: 89 2C loop start (44 times) D0/5F06: A6 00 00 FF move circle (+0,+0) and shrink by 1 D0/5F0A: A7 update circle D0/5F0B: 00 [$00] D0/5F0C: 8A loop end D0/5F0D: FF end of script D0/5F0E: 80 13 toggle imp graphics for target D0/5F10: 89 2C loop start (44 times) D0/5F12: A6 00 00 FF move circle (+0,+0) and shrink by 1 D0/5F16: A7 update circle D0/5F17: 00 [$00] D0/5F18: 8A loop end D0/5F19: FF end of script ; [ Animation Script $00B1: Float (sprite) ] D0/5F1A: 40 20 speed 5, align to center of character/monster D0/5F1C: D1 01 invalidate character/monster sprite priority D0/5F1E: C9 00 play default sound effect D0/5F20: 8B 08 animated loop start (8 times, increment frame offset each time) D0/5F22: 00 [$00] D0/5F23: 8C animated loop end D0/5F24: FF end of script D0/5F25: EB jump based on thread ($5F36, $5F38, $5F38, $5F38, $5F38, $5F38, $5F38, $5F38) D0/5F36: C9 00 play default sound effect D0/5F38: C0 return from subroutine ; [ Animation Script $00AE: Stop (sprite) ] D0/5F39: 30 20 speed 4, align to center of character/monster D0/5F3B: C9 00 play default sound effect D0/5F3D: 8B 10 animated loop start (16 times, increment frame offset each time) D0/5F3F: 00 [$00] D0/5F40: 8C animated loop end D0/5F41: C9 29 play sound effect $29 D0/5F43: 11 [$11] D0/5F44: 12 [$12] D0/5F45: 13 [$13] D0/5F46: FF end of script ; [ Animation Script $00AC: Haste, Haste2 (sprite) ] D0/5F47: 20 20 speed 3, align to center of character/monster D0/5F49: C9 00 play default sound effect D0/5F4B: 00 [$00] D0/5F4C: 01 [$01] D0/5F4D: 02 [$02] D0/5F4E: 03 [$03] D0/5F4F: 04 [$04] D0/5F50: 05 [$05] D0/5F51: 06 [$06] D0/5F52: 07 [$07] D0/5F53: 08 [$08] D0/5F54: 09 [$09] D0/5F55: 0A [$0A] D0/5F56: 0F [$0F] D0/5F57: 10 [$10] D0/5F58: 11 [$11] D0/5F59: 12 [$12] D0/5F5A: 0B [$0B] D0/5F5B: 0C [$0C] D0/5F5C: 0D [$0D] D0/5F5D: 0E [$0E] D0/5F5E: 0F [$0F] D0/5F5F: 10 [$10] D0/5F60: 11 [$11] D0/5F61: 12 [$12] D0/5F62: 09 [$09] D0/5F63: 08 [$08] D0/5F64: 07 [$07] D0/5F65: 05 [$05] D0/5F66: 04 [$04] D0/5F67: 03 [$03] D0/5F68: 02 [$02] D0/5F69: 01 [$01] D0/5F6A: 00 [$00] D0/5F6B: FF end of script ; [ Animation Script $00AD: Haste, Haste2 (bg3) ] D0/5F6C: 00 20 speed 1, align to center of character/monster D0/5F6E: D1 01 invalidate character/monster sprite priority D0/5F70: C9 00 play default sound effect D0/5F72: C4 40 move bg3 thread to this thread's position D0/5F74: F7 A0 wait until scanline 160 D0/5F76: 80 3E 13 enable (sprites, bg2, bg1) in main screen D0/5F79: AA FF set bg3 animation palette color subtraction to 31 (black) D0/5F7B: 00 [$00] D0/5F7C: EA 41 set bg3 tile data quadrant to 1 D0/5F7E: 00 [$00] D0/5F7F: BD 50 hide bg3 thread D0/5F81: F7 A0 wait until scanline 160 D0/5F83: 80 3E 17 enable (sprites, bg3, bg2, bg1) in main screen D0/5F86: 89 1F loop start (31 times) D0/5F88: 83 60 move forward 1 D0/5F8A: B4 F1 decrease bg3 animation palette color subtraction by 1 (black) D0/5F8C: 00 [$00] D0/5F8D: 8A loop end D0/5F8E: 89 40 loop start (64 times) D0/5F90: 83 60 move forward 1 D0/5F92: 00 [$00] D0/5F93: 8A loop end D0/5F94: 89 1F loop start (31 times) D0/5F96: 83 60 move forward 1 D0/5F98: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/5F9A: 00 [$00] D0/5F9B: 8A loop end D0/5F9C: BD 40 show bg3 thread D0/5F9E: EA 41 set bg3 tile data quadrant to 1 D0/5FA0: 09 [$09] D0/5FA1: FF end of script ; [ Animation Script $003B: Character Graphics (bg1) ] D0/5FA2: 00 20 speed 1, align to center of character/monster D0/5FA4: 80 17 update sprite layer priority based on target D0/5FA6: EE 20 set target sprite tile priority to 2 D0/5FA8: F0 jump based on target ($5FB3, $5FBE, $5FC9, $5FD4, $5FDE) D0/5FB3: 89 80 loop start (128 times) D0/5FB5: 00 [$00] D0/5FB6: F1 00 hide target character sprite D0/5FB8: 8A loop end D0/5FB9: F1 01 show target character sprite D0/5FBB: 00 [$00] D0/5FBC: 00 [$00] D0/5FBD: FF end of script D0/5FBE: 89 80 loop start (128 times) D0/5FC0: 01 [$01] D0/5FC1: F1 00 hide target character sprite D0/5FC3: 8A loop end D0/5FC4: F1 01 show target character sprite D0/5FC6: 01 [$01] D0/5FC7: 01 [$01] D0/5FC8: FF end of script D0/5FC9: 89 80 loop start (128 times) D0/5FCB: 02 [$02] D0/5FCC: F1 00 hide target character sprite D0/5FCE: 8A loop end D0/5FCF: F1 01 show target character sprite D0/5FD1: 02 [$02] D0/5FD2: 02 [$02] D0/5FD3: FF end of script D0/5FD4: 89 80 loop start (128 times) D0/5FD6: 03 [$03] D0/5FD7: F1 00 hide target character sprite D0/5FD9: 8A loop end D0/5FDA: F1 01 show target character sprite D0/5FDC: 03 [$03] D0/5FDD: 03 [$03] D0/5FDE: FF end of script D0/5FDF: 83 60 move forward 1 D0/5FE1: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/5FE3: EA 80 set bg1 tile data quadrant to 0 D0/5FE5: 00 [$00] D0/5FE6: 83 60 move forward 1 D0/5FE8: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/5FEA: EA 81 set bg1 tile data quadrant to 1 D0/5FEC: 02 [$02] D0/5FED: C0 return from subroutine D0/5FEE: 83 60 move forward 1 D0/5FF0: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/5FF2: EA 80 set bg1 tile data quadrant to 0 D0/5FF4: 01 [$01] D0/5FF5: 83 60 move forward 1 D0/5FF7: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/5FF9: EA 81 set bg1 tile data quadrant to 1 D0/5FFB: 03 [$03] D0/5FFC: C0 return from subroutine D0/5FFD: 83 60 move forward 1 D0/5FFF: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/6001: EA 80 set bg1 tile data quadrant to 0 D0/6003: 00 [$00] D0/6004: 83 60 move forward 1 D0/6006: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/6008: EA 81 set bg1 tile data quadrant to 1 D0/600A: 02 [$02] D0/600B: C0 return from subroutine D0/600C: 83 60 move forward 1 D0/600E: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/6010: EA 80 set bg1 tile data quadrant to 0 D0/6012: 01 [$01] D0/6013: 83 60 move forward 1 D0/6015: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/6017: EA 81 set bg1 tile data quadrant to 1 D0/6019: 03 [$03] D0/601A: C0 return from subroutine ; [ Animation Script $00AB: Muddle, L.3 Muddle (bg1) ] D0/601B: 00 20 speed 1, align to center of character/monster D0/601D: D0 20 set tile priority to 2 for all character/monster sprites D0/601F: D1 01 invalidate character/monster sprite priority D0/6021: C9 00 play default sound effect D0/6023: CC FF set bg1 animation palette color subtraction to 31 (black) D0/6025: C4 80 move bg1 thread to this thread's position D0/6027: 89 0F loop start (15 times) D0/6029: BF DF 5F jump to subroutine $5FDF D0/602C: BF DF 5F jump to subroutine $5FDF D0/602F: BF EE 5F jump to subroutine $5FEE D0/6032: BF EE 5F jump to subroutine $5FEE D0/6035: 8A loop end D0/6036: 89 07 loop start (7 times) D0/6038: BF FD 5F jump to subroutine $5FFD D0/603B: BF FD 5F jump to subroutine $5FFD D0/603E: BF 0C 60 jump to subroutine $600C D0/6041: BF 0C 60 jump to subroutine $600C D0/6044: 8A loop end D0/6045: EA 81 set bg1 tile data quadrant to 1 D0/6047: 0F [$0F] D0/6048: FF end of script ; [ Animation Script $00AA: Muddle, L.3 Muddle, Confusion (sprite) ] D0/6049: 10 40 speed 2, align to top of character/monster D0/604B: 90 20 set animation tile priority to 2 D0/604D: EB jump based on thread ($6056, $606A, $607C, $608E) D0/6056: C9 00 play default sound effect D0/6058: 80 12 init polar movement D0/605A: EF 30 40 move in flattened polar coordinates (48,64) D0/605D: BF C5 60 jump to subroutine $60C5 D0/6060: BF C5 60 jump to subroutine $60C5 D0/6063: BF A0 60 jump to subroutine $60A0 D0/6066: BF A0 60 jump to subroutine $60A0 D0/6069: FF end of script D0/606A: 80 12 init polar movement D0/606C: EF 30 80 move in flattened polar coordinates (48,-128) D0/606F: BF C5 60 jump to subroutine $60C5 D0/6072: BF A0 60 jump to subroutine $60A0 D0/6075: BF A0 60 jump to subroutine $60A0 D0/6078: BF C5 60 jump to subroutine $60C5 D0/607B: FF end of script D0/607C: 80 12 init polar movement D0/607E: EF 30 C0 move in flattened polar coordinates (48,-64) D0/6081: BF A0 60 jump to subroutine $60A0 D0/6084: BF A0 60 jump to subroutine $60A0 D0/6087: BF C5 60 jump to subroutine $60C5 D0/608A: BF C5 60 jump to subroutine $60C5 D0/608D: FF end of script D0/608E: 80 12 init polar movement D0/6090: EF 30 00 move in flattened polar coordinates (48,0) D0/6093: BF A0 60 jump to subroutine $60A0 D0/6096: BF C5 60 jump to subroutine $60C5 D0/6099: BF C5 60 jump to subroutine $60C5 D0/609C: BF A0 60 jump to subroutine $60A0 D0/609F: FF end of script D0/60A0: 89 03 loop start (3 times) D0/60A2: 02 [$02] D0/60A3: EF 00 04 move in flattened polar coordinates (0,4) D0/60A6: 80 21 update sprite layer priority based on polar movement angle D0/60A8: 8A loop end D0/60A9: 89 03 loop start (3 times) D0/60AB: 03 [$03] D0/60AC: EF 00 04 move in flattened polar coordinates (0,4) D0/60AF: 80 21 update sprite layer priority based on polar movement angle D0/60B1: 8A loop end D0/60B2: 89 03 loop start (3 times) D0/60B4: 02 [$02] D0/60B5: EF 00 04 move in flattened polar coordinates (0,4) D0/60B8: 80 21 update sprite layer priority based on polar movement angle D0/60BA: 8A loop end D0/60BB: 89 03 loop start (3 times) D0/60BD: 03 [$03] D0/60BE: EF 00 04 move in flattened polar coordinates (0,4) D0/60C1: 80 21 update sprite layer priority based on polar movement angle D0/60C3: 8A loop end D0/60C4: C0 return from subroutine D0/60C5: 89 03 loop start (3 times) D0/60C7: 00 [$00] D0/60C8: EF 00 04 move in flattened polar coordinates (0,4) D0/60CB: 80 21 update sprite layer priority based on polar movement angle D0/60CD: 8A loop end D0/60CE: 89 03 loop start (3 times) D0/60D0: 01 [$01] D0/60D1: EF 00 04 move in flattened polar coordinates (0,4) D0/60D4: 80 21 update sprite layer priority based on polar movement angle D0/60D6: 8A loop end D0/60D7: 89 03 loop start (3 times) D0/60D9: 00 [$00] D0/60DA: EF 00 04 move in flattened polar coordinates (0,4) D0/60DD: 80 21 update sprite layer priority based on polar movement angle D0/60DF: 8A loop end D0/60E0: 89 03 loop start (3 times) D0/60E2: 01 [$01] D0/60E3: EF 00 04 move in flattened polar coordinates (0,4) D0/60E6: 80 21 update sprite layer priority based on polar movement angle D0/60E8: 8A loop end D0/60E9: C0 return from subroutine D0/60EA: B0 FF set background color addition to 31 (white) D0/60EC: 89 20 loop start (32 times) D0/60EE: B5 F1 decrease background color addition by 1 (white) D0/60F0: 0F [$0F] D0/60F1: 8A loop end D0/60F2: C0 return from subroutine D0/60F3: 20 unknown $20 D0/60F4: 20 unknown $20 D0/60F5: D1 01 invalidate character/monster sprite priority D0/60F7: C9 00 play default sound effect D0/60F9: 90 00 set animation tile priority to 0 D0/60FB: 8B 11 animated loop start (17 times, increment frame offset each time) D0/60FD: 00 [$00] D0/60FE: 8C animated loop end D0/60FF: C9 47 play sound effect $47 D0/6101: 12 [$12] D0/6102: 13 [$13] D0/6103: 14 [$14] D0/6104: 15 [$15] D0/6105: 16 [$16] D0/6106: 17 [$17] D0/6107: 18 [$18] D0/6108: 19 [$19] D0/6109: FF end of script ; [ Animation Script $00A5: Rasp (bg3) ] D0/610A: 10 20 speed 2, align to center of character/monster D0/610C: C9 00 play default sound effect D0/610E: D1 01 invalidate character/monster sprite priority D0/6110: A5 00 00 2E FF FF 30 00 init circle at (0,0) D0/6118: 00 [$00] D0/6119: BD A0 hide bg1 thread D0/611B: C3 move circle to target D0/611C: A7 update circle D0/611D: 89 2C loop start (44 times) D0/611F: A6 00 00 FF move circle (+0,+0) and shrink by 1 D0/6123: A7 update circle D0/6124: 00 [$00] D0/6125: 8A loop end D0/6126: BD 80 show bg1 thread D0/6128: 89 0F loop start (15 times) D0/612A: 0F [$0F] D0/612B: 8A loop end D0/612C: C9 0B play sound effect $0B D0/612E: FF end of script ; [ Animation Script $00A6: Rasp (sprite) ] D0/612F: 00 20 speed 1, align to center of character/monster D0/6131: BF 74 61 jump to subroutine $6174 D0/6134: BF 74 61 jump to subroutine $6174 D0/6137: BF 74 61 jump to subroutine $6174 D0/613A: BF 74 61 jump to subroutine $6174 D0/613D: BF 74 61 jump to subroutine $6174 D0/6140: 89 40 loop start (64 times) D0/6142: 1F [---] D0/6143: 8A loop end D0/6144: BF 4E 61 jump to subroutine $614E D0/6147: BF 4E 61 jump to subroutine $614E D0/614A: BF 4E 61 jump to subroutine $614E D0/614D: FF end of script D0/614E: 80 11 choose random polar angle D0/6150: 89 02 loop start (2 times) D0/6152: E8 0C 00 move in polar coordinates (12,0) D0/6155: 00 [$00] D0/6156: 8A loop end D0/6157: 89 02 loop start (2 times) D0/6159: E8 0C 00 move in polar coordinates (12,0) D0/615C: 01 [$01] D0/615D: 8A loop end D0/615E: 89 02 loop start (2 times) D0/6160: E8 0C 00 move in polar coordinates (12,0) D0/6163: 02 [$02] D0/6164: 8A loop end D0/6165: 89 02 loop start (2 times) D0/6167: E8 0C 00 move in polar coordinates (12,0) D0/616A: 03 [$03] D0/616B: 8A loop end D0/616C: 89 02 loop start (2 times) D0/616E: E8 0C 00 move in polar coordinates (12,0) D0/6171: 04 [$04] D0/6172: 8A loop end D0/6173: C0 return from subroutine D0/6174: 80 11 choose random polar angle D0/6176: E8 80 00 move in polar coordinates (-128,0) D0/6179: 89 02 loop start (2 times) D0/617B: E8 F8 04 move in polar coordinates (-8,4) D0/617E: 04 [$04] D0/617F: 8A loop end D0/6180: 89 02 loop start (2 times) D0/6182: E8 F8 04 move in polar coordinates (-8,4) D0/6185: 03 [$03] D0/6186: 8A loop end D0/6187: 89 02 loop start (2 times) D0/6189: E8 F8 04 move in polar coordinates (-8,4) D0/618C: 02 [$02] D0/618D: 8A loop end D0/618E: 89 02 loop start (2 times) D0/6190: E8 F8 04 move in polar coordinates (-8,4) D0/6193: 01 [$01] D0/6194: 8A loop end D0/6195: 89 02 loop start (2 times) D0/6197: E8 F8 04 move in polar coordinates (-8,4) D0/619A: 00 [$00] D0/619B: 8A loop end D0/619C: C0 return from subroutine ; [ Animation Script $00A4: Slow, Slow 2 (sprite) ] D0/619D: 00 20 speed 1, align to center of character/monster D0/619F: 9A set facing direction to match attacker D0/61A0: D1 01 invalidate character/monster sprite priority D0/61A2: EB jump based on thread ($61AB, $61B7, $61C3, $61CC) D0/61AB: C9 00 play default sound effect D0/61AD: 89 08 loop start (8 times) D0/61AF: 1F [---] D0/61B0: 8A loop end D0/61B1: E8 00 00 move in polar coordinates (0,0) D0/61B4: FA CF 61 jump to $61CF D0/61B7: 1F [---] D0/61B8: 1F [---] D0/61B9: 1F [---] D0/61BA: 1F [---] D0/61BB: 1F [---] D0/61BC: 1F [---] D0/61BD: E8 00 40 move in polar coordinates (0,64) D0/61C0: FA CF 61 jump to $61CF D0/61C3: 1F [---] D0/61C4: 1F [---] D0/61C5: 1F [---] D0/61C6: E8 00 80 move in polar coordinates (0,-128) D0/61C9: FA CF 61 jump to $61CF D0/61CC: E8 00 C0 move in polar coordinates (0,-64) D0/61CF: 89 07 loop start (7 times) D0/61D1: E8 01 0C move in polar coordinates (1,12) D0/61D4: 00 [$00] D0/61D5: 8A loop end D0/61D6: 89 07 loop start (7 times) D0/61D8: E8 01 0C move in polar coordinates (1,12) D0/61DB: 01 [$01] D0/61DC: 8A loop end D0/61DD: 89 07 loop start (7 times) D0/61DF: E8 01 0C move in polar coordinates (1,12) D0/61E2: 02 [$02] D0/61E3: 8A loop end D0/61E4: 89 07 loop start (7 times) D0/61E6: E8 01 0C move in polar coordinates (1,12) D0/61E9: 03 [$03] D0/61EA: 8A loop end D0/61EB: 89 07 loop start (7 times) D0/61ED: E8 00 0A move in polar coordinates (0,10) D0/61F0: 04 [$04] D0/61F1: 8A loop end D0/61F2: 89 07 loop start (7 times) D0/61F4: E8 00 08 move in polar coordinates (0,8) D0/61F7: 04 [$04] D0/61F8: 8A loop end D0/61F9: 89 07 loop start (7 times) D0/61FB: E8 00 04 move in polar coordinates (0,4) D0/61FE: 04 [$04] D0/61FF: 8A loop end D0/6200: 89 07 loop start (7 times) D0/6202: E8 00 01 move in polar coordinates (0,1) D0/6205: 04 [$04] D0/6206: 8A loop end D0/6207: 89 20 loop start (32 times) D0/6209: 04 [$04] D0/620A: 8A loop end D0/620B: FF end of script ; [ Animation Script $00A2: Scan, Targetting (sprite) ] D0/620C: 00 20 speed 1, align to center of character/monster D0/620E: 89 20 loop start (32 times) D0/6210: 1F [---] D0/6211: 8A loop end D0/6212: 84 06 set animation speed to 7 D0/6214: 90 30 set animation tile priority to 3 D0/6216: 00 [$00] D0/6217: 01 [$01] D0/6218: 02 [$02] D0/6219: 03 [$03] D0/621A: 04 [$04] D0/621B: 05 [$05] D0/621C: 06 [$06] D0/621D: 84 01 set animation speed to 2 D0/621F: 89 40 loop start (64 times) D0/6221: 07 [$07] D0/6222: 8A loop end D0/6223: FF end of script ; [ Animation Script $00A3: Scan, Targetting (bg1) ] D0/6224: 00 20 speed 1, align to center of character/monster D0/6226: C9 00 play default sound effect D0/6228: D1 01 invalidate character/monster sprite priority D0/622A: A5 00 00 00 FF FF 20 00 init circle at (0,0) D0/6232: 00 [$00] D0/6233: BD A0 hide bg1 thread D0/6235: C3 move circle to target D0/6236: 89 20 loop start (32 times) D0/6238: A6 00 00 01 move circle (+0,+0) and grow by 1 D0/623C: A7 update circle D0/623D: A3 15 33 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/6240: 00 [$00] D0/6241: 8A loop end D0/6242: 89 40 loop start (64 times) D0/6244: A3 15 33 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/6247: 00 [$00] D0/6248: 8A loop end D0/6249: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/624B: 89 1E loop start (30 times) D0/624D: A6 00 00 FF move circle (+0,+0) and shrink by 1 D0/6251: A7 update circle D0/6252: A3 15 33 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/6255: 00 [$00] D0/6256: 8A loop end D0/6257: FF end of script ; [ Animation Script $00BA: Drain, Osmose, Raid (sprite) ] D0/6258: 00 20 speed 1, align to center of character/monster D0/625A: EB jump based on thread ($6267, $6273, $627D, $6287, $6291, $629A) D0/6267: 89 0E loop start (14 times) D0/6269: 1F [---] D0/626A: 8A loop end D0/626B: C9 00 play default sound effect D0/626D: E8 7C 00 move in polar coordinates (124,0) D0/6270: FA 9D 62 jump to $629D D0/6273: 89 0B loop start (11 times) D0/6275: 1F [---] D0/6276: 8A loop end D0/6277: E8 7C 2A move in polar coordinates (124,42) D0/627A: FA 9D 62 jump to $629D D0/627D: 89 08 loop start (8 times) D0/627F: 1F [---] D0/6280: 8A loop end D0/6281: E8 7C 54 move in polar coordinates (124,84) D0/6284: FA 9D 62 jump to $629D D0/6287: 89 05 loop start (5 times) D0/6289: 1F [---] D0/628A: 8A loop end D0/628B: E8 7C 7E move in polar coordinates (124,126) D0/628E: FA 9D 62 jump to $629D D0/6291: 1F [---] D0/6292: 1F [---] D0/6293: 1F [---] D0/6294: E8 7C A8 move in polar coordinates (124,-88) D0/6297: FA 9D 62 jump to $629D D0/629A: E8 7C D2 move in polar coordinates (124,-46) D0/629D: 89 1F loop start (31 times) D0/629F: E8 FC 08 move in polar coordinates (-4,8) D0/62A2: 04 [$04] D0/62A3: 8A loop end D0/62A4: EB jump based on thread ($62B1, $62BC, $62C2, $62C9, $62D0, $62D7) D0/62B1: F2 calculate vector from target to attacker D0/62B2: 04 [$04] D0/62B3: 92 08 03 move along vector at speed 8, branch to $62B2 D0/62B6: C2 80 unpause bg1 thread D0/62B8: 81 00 00 change attacker graphic to 0 (no action) D0/62BB: FF end of script D0/62BC: 1F [---] D0/62BD: 1F [---] D0/62BE: 1F [---] D0/62BF: FA DB 62 jump to $62DB D0/62C2: 89 05 loop start (5 times) D0/62C4: 1F [---] D0/62C5: 8A loop end D0/62C6: FA DB 62 jump to $62DB D0/62C9: 89 08 loop start (8 times) D0/62CB: 1F [---] D0/62CC: 8A loop end D0/62CD: FA DB 62 jump to $62DB D0/62D0: 89 0B loop start (11 times) D0/62D2: 1F [---] D0/62D3: 8A loop end D0/62D4: FA DB 62 jump to $62DB D0/62D7: 89 0E loop start (14 times) D0/62D9: 1F [---] D0/62DA: 8A loop end D0/62DB: 84 02 set animation speed to 3 D0/62DD: 89 01 loop start (1 times) D0/62DF: 80 0C move to first sprite thread position D0/62E1: 04 [$04] D0/62E2: 03 [$03] D0/62E3: 02 [$02] D0/62E4: 01 [$01] D0/62E5: 00 [$00] D0/62E6: 8A loop end D0/62E7: 80 10 move to target position D0/62E9: 85 move to attacker position D0/62EA: 83 AF move up/forward 16 D0/62EC: 84 04 set animation speed to 5 D0/62EE: 89 02 loop start (2 times) D0/62F0: E9 1F 1F move animation randomly (0..31,0..31) D0/62F3: 05 [$05] D0/62F4: 06 [$06] D0/62F5: 07 [$07] D0/62F6: 8A loop end D0/62F7: FF end of script ; [ Animation Script $00BB: Drain, Osmose, Raid (bg1) ] D0/62F8: 00 20 speed 1, align to center of character/monster D0/62FA: C9 34 play sound effect $34 D0/62FC: 85 move to attacker position D0/62FD: 80 69 update sprite layer priority based on attacker D0/62FF: A5 00 00 00 FF FF 20 00 init circle at (0,0) D0/6307: 00 [$00] D0/6308: BD A0 hide bg1 thread D0/630A: A8 move circle to attacker D0/630B: 89 08 loop start (8 times) D0/630D: A6 00 00 04 move circle (+0,+0) and grow by 4 D0/6311: A7 update circle D0/6312: A3 15 33 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/6315: 00 [$00] D0/6316: 8A loop end D0/6317: 89 20 loop start (32 times) D0/6319: A3 15 33 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/631C: 00 [$00] D0/631D: 8A loop end D0/631E: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/6320: 89 07 loop start (7 times) D0/6322: A6 00 00 FC move circle (+0,+0) and shrink by 4 D0/6326: A7 update circle D0/6327: A3 15 33 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/632A: 00 [$00] D0/632B: 8A loop end D0/632C: FF end of script ; [ Animation Script $00A0: ] D0/632D: 00 20 speed 1, align to center of character/monster D0/632F: EB jump based on thread ($633C, $6356, $6356, $6356, $6356, $6356) D0/633C: C9 00 play default sound effect D0/633E: 85 move to attacker position D0/633F: 89 04 loop start (4 times) D0/6341: D1 01 invalidate character/monster sprite priority D0/6343: 81 07 07 change attacker graphic to 7 (jumping) D0/6346: 04 [$04] D0/6347: 83 67 move forward 8 D0/6349: 8A loop end D0/634A: 80 0F command $80/$0F D0/634C: 04 [$04] D0/634D: ED command $ED D0/634E: 08 [$08] D0/634F: 03 [$03] D0/6350: C2 80 unpause bg1 thread D0/6352: 81 00 00 change attacker graphic to 0 (no action) D0/6355: FF end of script D0/6356: 84 03 set animation speed to 4 D0/6358: 89 01 loop start (1 times) D0/635A: 80 0C move to first sprite thread position D0/635C: 04 [$04] D0/635D: 03 [$03] D0/635E: 02 [$02] D0/635F: 01 [$01] D0/6360: 00 [$00] D0/6361: 8A loop end D0/6362: 80 10 move to target position D0/6364: 83 AF move up/forward 16 D0/6366: 84 05 set animation speed to 6 D0/6368: 89 04 loop start (4 times) D0/636A: E9 1F 1F move animation randomly (0..31,0..31) D0/636D: 05 [$05] D0/636E: 06 [$06] D0/636F: 07 [$07] D0/6370: 8A loop end D0/6371: FF end of script ; [ Animation Script $00A1: ] D0/6372: 00 20 speed 1, align to center of character/monster D0/6374: C9 34 play sound effect $34 D0/6376: A5 00 00 00 FF FF 20 00 init circle at (0,0) D0/637E: 00 [$00] D0/637F: BD A0 hide bg1 thread D0/6381: C3 move circle to target D0/6382: 89 20 loop start (32 times) D0/6384: A6 00 00 01 move circle (+0,+0) and grow by 1 D0/6388: A7 update circle D0/6389: A3 15 33 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/638C: 00 [$00] D0/638D: 8A loop end D0/638E: 89 20 loop start (32 times) D0/6390: A3 15 33 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/6393: 00 [$00] D0/6394: 8A loop end D0/6395: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/6397: 89 1E loop start (30 times) D0/6399: A6 00 00 FF move circle (+0,+0) and shrink by 1 D0/639D: A7 update circle D0/639E: A3 15 33 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/63A1: 00 [$00] D0/63A2: 8A loop end D0/63A3: FF end of script ; [ Animation Script $009B: Life 3 (sprite/bg1) ] D0/63A4: 00 20 speed 1, align to center of character/monster D0/63A6: EB jump based on thread ($63AB, $6400) D0/63AB: D1 01 invalidate character/monster sprite priority D0/63AD: C9 00 play default sound effect D0/63AF: BF B6 63 jump to subroutine $63B6 D0/63B2: BF 51 64 jump to subroutine $6451 D0/63B5: FF end of script D0/63B6: 83 FF move up/back 32 D0/63B8: 00 [$00] D0/63B9: 00 [$00] D0/63BA: 00 [$00] D0/63BB: 00 [$00] D0/63BC: 01 [$01] D0/63BD: 01 [$01] D0/63BE: 01 [$01] D0/63BF: 01 [$01] D0/63C0: 02 [$02] D0/63C1: 02 [$02] D0/63C2: 02 [$02] D0/63C3: 02 [$02] D0/63C4: 03 [$03] D0/63C5: 03 [$03] D0/63C6: 03 [$03] D0/63C7: 03 [$03] D0/63C8: 04 [$04] D0/63C9: 04 [$04] D0/63CA: 04 [$04] D0/63CB: 04 [$04] D0/63CC: 89 01 loop start (1 times) D0/63CE: 83 00 move down/forward 1 D0/63D0: 05 [$05] D0/63D1: 83 00 move down/forward 1 D0/63D3: 05 [$05] D0/63D4: 83 00 move down/forward 1 D0/63D6: 05 [$05] D0/63D7: 83 00 move down/forward 1 D0/63D9: 05 [$05] D0/63DA: 83 00 move down/forward 1 D0/63DC: 06 [$06] D0/63DD: 83 00 move down/forward 1 D0/63DF: 06 [$06] D0/63E0: 83 00 move down/forward 1 D0/63E2: 06 [$06] D0/63E3: 83 00 move down/forward 1 D0/63E5: 06 [$06] D0/63E6: 83 00 move down/forward 1 D0/63E8: 07 [$07] D0/63E9: 83 00 move down/forward 1 D0/63EB: 07 [$07] D0/63EC: 83 00 move down/forward 1 D0/63EE: 07 [$07] D0/63EF: 83 00 move down/forward 1 D0/63F1: 07 [$07] D0/63F2: 83 00 move down/forward 1 D0/63F4: 08 [$08] D0/63F5: 83 00 move down/forward 1 D0/63F7: 08 [$08] D0/63F8: 83 00 move down/forward 1 D0/63FA: 08 [$08] D0/63FB: 83 00 move down/forward 1 D0/63FD: 08 [$08] D0/63FE: 8A loop end D0/63FF: C0 return from subroutine D0/6400: BF 07 64 jump to subroutine $6407 D0/6403: BF 51 64 jump to subroutine $6451 D0/6406: FF end of script D0/6407: 83 BF move up/forward 32 D0/6409: 00 [$00] D0/640A: 00 [$00] D0/640B: 00 [$00] D0/640C: 00 [$00] D0/640D: 01 [$01] D0/640E: 01 [$01] D0/640F: 01 [$01] D0/6410: 01 [$01] D0/6411: 02 [$02] D0/6412: 02 [$02] D0/6413: 02 [$02] D0/6414: 02 [$02] D0/6415: 03 [$03] D0/6416: 03 [$03] D0/6417: 03 [$03] D0/6418: 03 [$03] D0/6419: 04 [$04] D0/641A: 04 [$04] D0/641B: 04 [$04] D0/641C: 04 [$04] D0/641D: 89 01 loop start (1 times) D0/641F: 83 40 move down/back 1 D0/6421: 05 [$05] D0/6422: 83 40 move down/back 1 D0/6424: 05 [$05] D0/6425: 83 40 move down/back 1 D0/6427: 05 [$05] D0/6428: 83 40 move down/back 1 D0/642A: 05 [$05] D0/642B: 83 40 move down/back 1 D0/642D: 06 [$06] D0/642E: 83 40 move down/back 1 D0/6430: 06 [$06] D0/6431: 83 40 move down/back 1 D0/6433: 06 [$06] D0/6434: 83 40 move down/back 1 D0/6436: 06 [$06] D0/6437: 83 40 move down/back 1 D0/6439: 07 [$07] D0/643A: 83 40 move down/back 1 D0/643C: 07 [$07] D0/643D: 83 40 move down/back 1 D0/643F: 07 [$07] D0/6440: 83 40 move down/back 1 D0/6442: 07 [$07] D0/6443: 83 40 move down/back 1 D0/6445: 08 [$08] D0/6446: 83 40 move down/back 1 D0/6448: 08 [$08] D0/6449: 83 40 move down/back 1 D0/644B: 08 [$08] D0/644C: 83 40 move down/back 1 D0/644E: 08 [$08] D0/644F: 8A loop end D0/6450: C0 return from subroutine D0/6451: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/6453: EC 01 change thread layer to bg1 D0/6455: 08 [$08] D0/6456: EC 00 change thread layer to sprite D0/6458: 1F [---] D0/6459: EC 01 change thread layer to bg1 D0/645B: 89 02 loop start (2 times) D0/645D: CF E2 increase bg1 animation palette color subtraction by 2 (black) D0/645F: 05 [$05] D0/6460: 05 [$05] D0/6461: CF E2 increase bg1 animation palette color subtraction by 2 (black) D0/6463: 05 [$05] D0/6464: 05 [$05] D0/6465: CF E2 increase bg1 animation palette color subtraction by 2 (black) D0/6467: 06 [$06] D0/6468: 06 [$06] D0/6469: CF E2 increase bg1 animation palette color subtraction by 2 (black) D0/646B: 06 [$06] D0/646C: 06 [$06] D0/646D: CF E2 increase bg1 animation palette color subtraction by 2 (black) D0/646F: 07 [$07] D0/6470: 07 [$07] D0/6471: CF E2 increase bg1 animation palette color subtraction by 2 (black) D0/6473: 07 [$07] D0/6474: 07 [$07] D0/6475: CF E2 increase bg1 animation palette color subtraction by 2 (black) D0/6477: 08 [$08] D0/6478: 08 [$08] D0/6479: CF E2 increase bg1 animation palette color subtraction by 2 (black) D0/647B: 08 [$08] D0/647C: 08 [$08] D0/647D: 8A loop end D0/647E: 0F [$0F] D0/647F: EC 00 change thread layer to sprite D0/6481: C0 return from subroutine ; [ Animation Script $009A: Life, Fallen One (sprite) ] D0/6482: 00 20 speed 1, align to center of character/monster D0/6484: 9A set facing direction to match attacker D0/6485: EB jump based on thread ($6492, $64C3, $64C3, $64C3, $64C3, $64C3) D0/6492: D1 01 invalidate character/monster sprite priority D0/6494: C9 00 play default sound effect D0/6496: 83 BF move up/forward 32 D0/6498: 83 BF move up/forward 32 D0/649A: 83 BF move up/forward 32 D0/649C: 83 BF move up/forward 32 D0/649E: E8 10 08 move in polar coordinates (16,8) D0/64A1: 89 3F loop start (63 times) D0/64A3: 83 41 move down/back 2 D0/64A5: E8 00 08 move in polar coordinates (0,8) D0/64A8: 01 [$01] D0/64A9: 8A loop end D0/64AA: C9 8D play sound effect $8D D0/64AC: 84 04 set animation speed to 5 D0/64AE: 02 [$02] D0/64AF: 02 [$02] D0/64B0: 03 [$03] D0/64B1: 03 [$03] D0/64B2: 04 [$04] D0/64B3: 04 [$04] D0/64B4: 05 [$05] D0/64B5: 05 [$05] D0/64B6: 06 [$06] D0/64B7: 06 [$06] D0/64B8: 07 [$07] D0/64B9: 07 [$07] D0/64BA: 08 [$08] D0/64BB: 09 [$09] D0/64BC: 0A [$0A] D0/64BD: 0B [$0B] D0/64BE: 0C [$0C] D0/64BF: 0D [$0D] D0/64C0: 0E [$0E] D0/64C1: 0F [$0F] D0/64C2: FF end of script D0/64C3: 84 06 set animation speed to 7 D0/64C5: 89 03 loop start (3 times) D0/64C7: 80 0C move to first sprite thread position D0/64C9: 01 [$01] D0/64CA: 01 [$01] D0/64CB: 00 [$00] D0/64CC: 00 [$00] D0/64CD: 8A loop end D0/64CE: FF end of script ; [ Animation Script $0071: Life 2 (sprite) ] D0/64CF: 00 20 speed 1, align to center of character/monster D0/64D1: 9A set facing direction to match attacker D0/64D2: EB jump based on thread ($64DF, $6524, $6548, $6548, $6524, $6548) D0/64DF: D1 01 invalidate character/monster sprite priority D0/64E1: C9 00 play default sound effect D0/64E3: 83 BF move up/forward 32 D0/64E5: 83 BF move up/forward 32 D0/64E7: 83 BF move up/forward 32 D0/64E9: 83 BF move up/forward 32 D0/64EB: E8 10 08 move in polar coordinates (16,8) D0/64EE: 89 3F loop start (63 times) D0/64F0: 83 41 move down/back 2 D0/64F2: E8 00 08 move in polar coordinates (0,8) D0/64F5: 01 [$01] D0/64F6: 8A loop end D0/64F7: 84 04 set animation speed to 5 D0/64F9: 02 [$02] D0/64FA: 02 [$02] D0/64FB: 03 [$03] D0/64FC: 03 [$03] D0/64FD: 04 [$04] D0/64FE: 04 [$04] D0/64FF: 05 [$05] D0/6500: 05 [$05] D0/6501: 06 [$06] D0/6502: 06 [$06] D0/6503: 07 [$07] D0/6504: 07 [$07] D0/6505: E8 F0 00 move in polar coordinates (-16,0) D0/6508: 83 A8 move up/forward 9 D0/650A: E9 0F 0F move animation randomly (0..15,0..15) D0/650D: 08 [$08] D0/650E: 09 [$09] D0/650F: 0A [$0A] D0/6510: 0B [$0B] D0/6511: 0C [$0C] D0/6512: 0D [$0D] D0/6513: 0E [$0E] D0/6514: 0F [$0F] D0/6515: 05 [$05] D0/6516: 06 [$06] D0/6517: 07 [$07] D0/6518: 05 [$05] D0/6519: 06 [$06] D0/651A: 07 [$07] D0/651B: 08 [$08] D0/651C: 09 [$09] D0/651D: 0A [$0A] D0/651E: 0B [$0B] D0/651F: 0C [$0C] D0/6520: 0D [$0D] D0/6521: 0E [$0E] D0/6522: 0F [$0F] D0/6523: FF end of script D0/6524: 84 06 set animation speed to 7 D0/6526: 89 03 loop start (3 times) D0/6528: 80 0C move to first sprite thread position D0/652A: 01 [$01] D0/652B: 01 [$01] D0/652C: 00 [$00] D0/652D: 00 [$00] D0/652E: 8A loop end D0/652F: 84 04 set animation speed to 5 D0/6531: 83 AF move up/forward 16 D0/6533: 89 01 loop start (1 times) D0/6535: E9 1F 1F move animation randomly (0..31,0..31) D0/6538: 05 [$05] D0/6539: 06 [$06] D0/653A: 07 [$07] D0/653B: 05 [$05] D0/653C: 06 [$06] D0/653D: 07 [$07] D0/653E: 08 [$08] D0/653F: 09 [$09] D0/6540: 0A [$0A] D0/6541: 0B [$0B] D0/6542: 0C [$0C] D0/6543: 0D [$0D] D0/6544: 0E [$0E] D0/6545: 0F [$0F] D0/6546: 8A loop end D0/6547: FF end of script D0/6548: 84 06 set animation speed to 7 D0/654A: 89 03 loop start (3 times) D0/654C: 80 0C move to first sprite thread position D0/654E: 01 [$01] D0/654F: 01 [$01] D0/6550: 00 [$00] D0/6551: 00 [$00] D0/6552: 8A loop end D0/6553: 84 04 set animation speed to 5 D0/6555: 83 BF move up/forward 32 D0/6557: 89 01 loop start (1 times) D0/6559: E9 3F 3F move animation randomly (0..63,0..63) D0/655C: 08 [$08] D0/655D: 09 [$09] D0/655E: 0A [$0A] D0/655F: 0B [$0B] D0/6560: 0C [$0C] D0/6561: 0D [$0D] D0/6562: 0E [$0E] D0/6563: 0F [$0F] D0/6564: 8A loop end D0/6565: FF end of script ; [ Animation Script $009D: Remedy (sprite) ] D0/6566: 00 00 speed 1, align to bottom of character/monster D0/6568: C9 00 play default sound effect D0/656A: 89 1F loop start (31 times) D0/656C: 1F [---] D0/656D: 8A loop end D0/656E: 8B 16 animated loop start (22 times, increment frame offset each time) D0/6570: 00 [$00] D0/6571: 00 [$00] D0/6572: 00 [$00] D0/6573: 00 [$00] D0/6574: 8C animated loop end D0/6575: FF end of script ; [ Animation Script $009E: Remedy (bg1) ] D0/6576: 00 00 speed 1, align to bottom of character/monster D0/6578: D1 01 invalidate character/monster sprite priority D0/657A: 00 [$00] D0/657B: EA 82 set bg1 tile data quadrant to 2 D0/657D: 00 [$00] D0/657E: BD A0 hide bg1 thread D0/6580: A5 00 00 00 FF FF 20 00 init circle at (0,0) D0/6588: C3 move circle to target D0/6589: A6 00 81 00 move circle (+0,-127) D0/658D: A6 00 E8 00 move circle (+0,-24) D0/6591: 89 1F loop start (31 times) D0/6593: 83 20 move down 1 D0/6595: A3 15 31 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/6598: 00 [$00] D0/6599: A6 00 00 02 move circle (+0,+0) and grow by 2 D0/659D: A7 update circle D0/659E: 00 [$00] D0/659F: 8A loop end D0/65A0: 89 30 loop start (48 times) D0/65A2: 83 20 move down 1 D0/65A4: A3 15 31 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/65A7: 00 [$00] D0/65A8: 00 [$00] D0/65A9: 8A loop end D0/65AA: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/65AC: 89 10 loop start (16 times) D0/65AE: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/65B0: 83 20 move down 1 D0/65B2: A3 15 31 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift) D0/65B5: 00 [$00] D0/65B6: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/65B8: 00 [$00] D0/65B9: 8A loop end D0/65BA: BD 80 show bg1 thread D0/65BC: EA 82 set bg1 tile data quadrant to 2 D0/65BE: 0F [$0F] D0/65BF: FF end of script ; [ Animation Script $009C: Antdot (sprite) ] D0/65C0: 50 20 speed 6, align to center of character/monster D0/65C2: 9A set facing direction to match attacker D0/65C3: 83 AF move up/forward 16 D0/65C5: 89 01 loop start (1 times) D0/65C7: E9 1F 1F move animation randomly (0..31,0..31) D0/65CA: 00 [$00] D0/65CB: 01 [$01] D0/65CC: 02 [$02] D0/65CD: 03 [$03] D0/65CE: 04 [$04] D0/65CF: 05 [$05] D0/65D0: 06 [$06] D0/65D1: 07 [$07] D0/65D2: 8A loop end D0/65D3: FF end of script ; [ Animation Script $0039: GP Rain (sprite) ] D0/65D4: 00 20 speed 1, align to center of character/monster D0/65D6: 85 move to attacker position D0/65D7: DB 06 branch to $65DF if character already stepped forward to attack D0/65D9: 83 77 move forward 24 D0/65DB: 89 07 loop start (7 times) D0/65DD: 1F [---] D0/65DE: 8A loop end D0/65DF: 80 72 01 branch to $65E3 if attack hit D0/65E2: FF end of script D0/65E3: C9 00 play default sound effect D0/65E5: 94 93 calculate vector from attacker to a random location on target D0/65E7: 08 [$08] D0/65E8: 00 [$00] D0/65E9: 92 08 03 move along vector at speed 8, branch to $65E8 D0/65EC: 89 07 loop start (7 times) D0/65EE: 87 81 move target back 2 D0/65F0: 00 [$00] D0/65F1: 87 61 move target forward 2 D0/65F3: 00 [$00] D0/65F4: 8A loop end D0/65F5: FF end of script ; [ Animation Script $003A: GP Rain (extra) ] D0/65F6: 00 20 speed 1, align to center of character/monster D0/65F8: DB 03 branch to $65FD if character already stepped forward to attack D0/65FA: BF 19 70 jump to subroutine $7019 D0/65FD: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/6600: 1F [---] D0/6601: 1F [---] D0/6602: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/6605: 89 1F loop start (31 times) D0/6607: 1F [---] D0/6608: 8A loop end D0/6609: 81 00 00 change attacker graphic to 0 (no action) D0/660C: FF end of script ; [ Animation Script $008F: Throw Sword (sprite) ] D0/660D: 00 20 speed 1, align to center of character/monster D0/660F: 85 move to attacker position D0/6610: DB 03 branch to $6615 if character already stepped forward to attack D0/6612: BF 19 70 jump to subroutine $7019 D0/6615: C9 00 play default sound effect D0/6617: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/661A: 83 27 move down 8 D0/661C: 95 calculate vector from attacker to target D0/661D: 93 08 move to vector position 8 D0/661F: 01 [$01] D0/6620: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/6623: 92 08 06 move along vector at speed 8, branch to $661F D0/6626: C9 94 play sound effect $94 D0/6628: 89 07 loop start (7 times) D0/662A: 87 81 move target back 2 D0/662C: 01 [$01] D0/662D: 87 61 move target forward 2 D0/662F: 01 [$01] D0/6630: 8A loop end D0/6631: 81 00 00 change attacker graphic to 0 (no action) D0/6634: FF end of script ; [ Animation Script $0279: Throw Boomerang (sprite) ] D0/6635: 00 20 speed 1, align to center of character/monster D0/6637: 85 move to attacker position D0/6638: DB 03 branch to $663D if character already stepped forward to attack D0/663A: BF 19 70 jump to subroutine $7019 D0/663D: C9 00 play default sound effect D0/663F: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/6642: 95 calculate vector from attacker to target D0/6643: 93 08 move to vector position 8 D0/6645: 98 02 06 increment frame offset every 2 loops (0..6) D0/6648: 00 [$00] D0/6649: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/664C: 92 08 09 move along vector at speed 8, branch to $6645 D0/664F: C9 94 play sound effect $94 D0/6651: 89 07 loop start (7 times) D0/6653: 87 81 move target back 2 D0/6655: 98 02 06 increment frame offset every 2 loops (0..6) D0/6658: 00 [$00] D0/6659: 87 61 move target forward 2 D0/665B: 98 02 06 increment frame offset every 2 loops (0..6) D0/665E: 00 [$00] D0/665F: 8A loop end D0/6660: 81 00 00 change attacker graphic to 0 (no action) D0/6663: FF end of script ; [ Animation Script $0064: Throw Hawk Eye/Sniper (sprite) ] D0/6664: 00 20 speed 1, align to center of character/monster D0/6666: 85 move to attacker position D0/6667: DB 03 branch to $666C if character already stepped forward to attack D0/6669: BF 19 70 jump to subroutine $7019 D0/666C: C9 00 play default sound effect D0/666E: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/6671: 95 calculate vector from attacker to target D0/6672: 93 08 move to vector position 8 D0/6674: 98 02 03 increment frame offset every 2 loops (0..3) D0/6677: 01 [$01] D0/6678: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/667B: 92 08 09 move along vector at speed 8, branch to $6674 D0/667E: C9 94 play sound effect $94 D0/6680: 89 07 loop start (7 times) D0/6682: 87 81 move target back 2 D0/6684: 98 02 03 increment frame offset every 2 loops (0..3) D0/6687: 01 [$01] D0/6688: 87 61 move target forward 2 D0/668A: 98 02 03 increment frame offset every 2 loops (0..3) D0/668D: 01 [$01] D0/668E: 8A loop end D0/668F: 81 00 00 change attacker graphic to 0 (no action) D0/6692: FF end of script ; [ Animation Script $003F: Jump w/ Hawk Eye/Sniper (sprite) ] D0/6693: 00 00 speed 1, align to bottom of character/monster D0/6695: 85 move to attacker position D0/6696: BF 25 67 jump to subroutine $6725 D0/6699: 81 14 14 change attacker graphic to 20 (kneeling) D0/669C: 83 8A move back 11 D0/669E: 83 3C move down 29 D0/66A0: C9 00 play default sound effect D0/66A2: BF 1C 67 jump to subroutine $671C D0/66A5: BF EC 66 jump to subroutine $66EC D0/66A8: 80 7D 04 branch to $66AF if ??? D0/66AB: BF 53 67 jump to subroutine $6753 D0/66AE: FF end of script D0/66AF: FA CE 66 jump to $66CE ; [ Animation Script $0087: Jump w/ Thick Knife (sprite) ] D0/66B2: 00 00 speed 1, align to bottom of character/monster D0/66B4: 85 move to attacker position D0/66B5: BF 25 67 jump to subroutine $6725 D0/66B8: C9 00 play default sound effect D0/66BA: BF 04 67 jump to subroutine $6704 D0/66BD: 81 14 14 change attacker graphic to 20 (kneeling) D0/66C0: 83 8A move back 11 D0/66C2: 83 3C move down 29 D0/66C4: BF EC 66 jump to subroutine $66EC D0/66C7: 80 7D 04 branch to $66CE if ??? D0/66CA: BF 53 67 jump to subroutine $6753 D0/66CD: FF end of script D0/66CE: 81 17 17 change attacker graphic to 23 (hands up, facing down) D0/66D1: 89 14 loop start (20 times) D0/66D3: 86 C7 move attacker up 8 D0/66D5: 1F [---] D0/66D6: 8A loop end D0/66D7: E1 00 hide attacking character sprite D0/66D9: 89 08 loop start (8 times) D0/66DB: 1F [---] D0/66DC: 8A loop end D0/66DD: 81 00 00 change attacker graphic to 0 (no action) D0/66E0: CB 01 disable echo sprites D0/66E2: 89 14 loop start (20 times) D0/66E4: 86 27 move attacker down 8 D0/66E6: 8A loop end D0/66E7: E6 08 02 20 move character backward along vector at speed 8 and height 32, branch to $66E7 D0/66EB: FF end of script D0/66EC: 89 03 loop start (3 times) D0/66EE: 86 27 move attacker down 8 D0/66F0: 83 27 move down 8 D0/66F2: 00 [$00] D0/66F3: 8A loop end D0/66F4: 89 07 loop start (7 times) D0/66F6: 87 61 move target forward 2 D0/66F8: 00 [$00] D0/66F9: 87 81 move target back 2 D0/66FB: 00 [$00] D0/66FC: 8A loop end D0/66FD: 89 03 loop start (3 times) D0/66FF: 86 27 move attacker down 8 D0/6701: 1F [---] D0/6702: 8A loop end D0/6703: C0 return from subroutine D0/6704: 89 02 loop start (2 times) D0/6706: 86 27 move attacker down 8 D0/6708: 83 27 move down 8 D0/670A: 01 [$01] D0/670B: 86 27 move attacker down 8 D0/670D: 83 27 move down 8 D0/670F: 02 [$02] D0/6710: 86 27 move attacker down 8 D0/6712: 83 27 move down 8 D0/6714: 03 [$03] D0/6715: 86 27 move attacker down 8 D0/6717: 83 27 move down 8 D0/6719: 04 [$04] D0/671A: 8A loop end D0/671B: C0 return from subroutine D0/671C: 89 0B loop start (11 times) D0/671E: 86 27 move attacker down 8 D0/6720: 83 27 move down 8 D0/6722: 00 [$00] D0/6723: 8A loop end D0/6724: C0 return from subroutine D0/6725: E1 00 hide attacking character sprite D0/6727: DB 04 branch to $672D if character already stepped forward to attack D0/6729: 86 77 move attacker forward 24 D0/672B: 83 77 move forward 24 D0/672D: 1F [---] D0/672E: E4 command $E4 D0/672F: E5 08 02 20 move character forward along vector at speed 8 and height 32, branch to $672F D0/6733: 81 07 07 change attacker graphic to 7 (jumping) D0/6736: 1F [---] D0/6737: 1F [---] D0/6738: D1 01 invalidate character/monster sprite priority D0/673A: 86 DF move attacker up 32 D0/673C: 86 DF move attacker up 32 D0/673E: 86 DF move attacker up 32 D0/6740: 86 DF move attacker up 32 D0/6742: 86 DF move attacker up 32 D0/6744: 83 DF move up 32 D0/6746: 83 DF move up 32 D0/6748: 83 DF move up 32 D0/674A: 83 DF move up 32 D0/674C: 83 DF move up 32 D0/674E: CB 81 enable echo sprites (1 frame delay) D0/6750: E1 01 show attacking character sprite D0/6752: C0 return from subroutine D0/6753: 81 44 44 change attacker graphic to 20 (kneeling) D0/6756: 89 06 loop start (6 times) D0/6758: 1F [---] D0/6759: 8A loop end D0/675A: 81 37 37 change attacker graphic to 7 (jumping) D0/675D: 1F [---] D0/675E: E6 08 03 20 move character backward along vector at speed 8 and height 32, branch to $675D D0/6762: 81 00 00 change attacker graphic to 0 (no action) D0/6765: 89 08 loop start (8 times) D0/6767: 1F [---] D0/6768: 8A loop end D0/6769: CB 01 disable echo sprites D0/676B: D1 00 validate character/monster sprite priority D0/676D: C0 return from subroutine ; [ Animation Script $0082: ] D0/676E: 00 00 speed 1, align to bottom of character/monster D0/6770: BF 25 67 jump to subroutine $6725 D0/6773: C9 00 play default sound effect D0/6775: 89 13 loop start (19 times) D0/6777: 86 27 move attacker down 8 D0/6779: 1F [---] D0/677A: 8A loop end D0/677B: 81 14 14 change attacker graphic to 20 (kneeling) D0/677E: 89 07 loop start (7 times) D0/6780: 87 81 move target back 2 D0/6782: 1F [---] D0/6783: 87 61 move target forward 2 D0/6785: 1F [---] D0/6786: 8A loop end D0/6787: 80 7D 04 branch to $678E if ??? D0/678A: BF 53 67 jump to subroutine $6753 D0/678D: FF end of script D0/678E: FA CE 66 jump to $66CE ; [ Animation Script $0085: ] D0/6791: 00 00 speed 1, align to bottom of character/monster D0/6793: E1 00 hide attacking character sprite D0/6795: DB 02 branch to $6799 if character already stepped forward to attack D0/6797: 86 77 move attacker forward 24 D0/6799: 81 07 07 change attacker graphic to 7 (jumping) D0/679C: 86 DF move attacker up 32 D0/679E: 86 DF move attacker up 32 D0/67A0: 86 DF move attacker up 32 D0/67A2: 86 DF move attacker up 32 D0/67A4: 86 DF move attacker up 32 D0/67A6: CB 81 enable echo sprites (1 frame delay) D0/67A8: E1 01 show attacking character sprite D0/67AA: D1 01 invalidate character/monster sprite priority D0/67AC: C9 00 play default sound effect D0/67AE: 89 13 loop start (19 times) D0/67B0: 86 27 move attacker down 8 D0/67B2: 1F [---] D0/67B3: 8A loop end D0/67B4: 89 06 loop start (6 times) D0/67B6: 81 04 04 change attacker graphic to 4 (walking forward, frame 1) D0/67B9: 1F [---] D0/67BA: 8A loop end D0/67BB: 81 00 00 change attacker graphic to 0 (no action) D0/67BE: 89 08 loop start (8 times) D0/67C0: 1F [---] D0/67C1: 8A loop end D0/67C2: CB 01 disable echo sprites D0/67C4: D1 00 validate character/monster sprite priority D0/67C6: FF end of script ; [ Animation Script $01E1: Jump (sprite) ] D0/67C7: 00 20 speed 1, align to center of character/monster D0/67C9: CB 81 enable echo sprites (1 frame delay) D0/67CB: D1 01 invalidate character/monster sprite priority D0/67CD: DB 03 branch to $67D2 if character already stepped forward to attack D0/67CF: BF 19 70 jump to subroutine $7019 D0/67D2: 80 86 00 play sound effect $00 (pan to thread x position) D0/67D5: 81 14 14 change attacker graphic to 20 (kneeling) D0/67D8: 89 08 loop start (8 times) D0/67DA: 1F [---] D0/67DB: 8A loop end D0/67DC: 81 07 07 change attacker graphic to 7 (jumping) D0/67DF: 89 14 loop start (20 times) D0/67E1: 86 C7 move attacker up 8 D0/67E3: 86 61 move attacker forward 2 D0/67E5: 1F [---] D0/67E6: 8A loop end D0/67E7: 89 10 loop start (16 times) D0/67E9: 1F [---] D0/67EA: 8A loop end D0/67EB: CB 01 disable echo sprites D0/67ED: E1 00 hide attacking character sprite D0/67EF: 89 14 loop start (20 times) D0/67F1: 86 27 move attacker down 8 D0/67F3: 86 81 move attacker back 2 D0/67F5: 8A loop end D0/67F6: DB 02 branch to $67FA if character already stepped forward to attack D0/67F8: 86 97 move attacker back 24 D0/67FA: D1 00 validate character/monster sprite priority D0/67FC: FF end of script ; [ Animation Script $0086: ] D0/67FD: 00 00 speed 1, align to bottom of character/monster D0/67FF: D1 01 invalidate character/monster sprite priority D0/6801: 89 13 loop start (19 times) D0/6803: 86 C7 move attacker up 8 D0/6805: 8A loop end D0/6806: C9 00 play default sound effect D0/6808: E1 81 show attacking monster sprite D0/680A: 89 13 loop start (19 times) D0/680C: 86 27 move attacker down 8 D0/680E: 0F [$0F] D0/680F: 8A loop end D0/6810: D1 00 validate character/monster sprite priority D0/6812: FF end of script ; [ Animation Script $0083: Jump w/o running (bg1) ] D0/6813: 00 00 speed 1, align to bottom of character/monster D0/6815: D1 01 invalidate character/monster sprite priority D0/6817: C9 00 play default sound effect D0/6819: 89 13 loop start (19 times) D0/681B: 86 C7 move attacker up 8 D0/681D: 86 61 move attacker forward 2 D0/681F: 0F [$0F] D0/6820: 8A loop end D0/6821: E1 80 hide attacking monster sprite D0/6823: 89 13 loop start (19 times) D0/6825: 86 27 move attacker down 8 D0/6827: 86 81 move attacker back 2 D0/6829: 8A loop end D0/682A: D1 00 validate character/monster sprite priority D0/682C: FF end of script ; [ Animation Script $0084: ] D0/682D: 00 00 speed 1, align to bottom of character/monster D0/682F: E1 80 hide attacking monster sprite D0/6831: 80 0E command $80/$0E D0/6833: 0F [$0F] D0/6834: E4 command $E4 D0/6835: E2 command $E2 D0/6836: 08 [$08] D0/6837: 02 [$02] D0/6838: 0F [$0F] D0/6839: D1 01 invalidate character/monster sprite priority D0/683B: 86 DF move attacker up 32 D0/683D: 86 DF move attacker up 32 D0/683F: 86 DF move attacker up 32 D0/6841: 86 DF move attacker up 32 D0/6843: 86 DF move attacker up 32 D0/6845: E1 81 show attacking monster sprite D0/6847: C9 00 play default sound effect D0/6849: 89 13 loop start (19 times) D0/684B: 86 27 move attacker down 8 D0/684D: 0F [$0F] D0/684E: 8A loop end D0/684F: D1 00 validate character/monster sprite priority D0/6851: 0F [$0F] D0/6852: E3 command $E3 D0/6853: 08 [$08] D0/6854: 03 [$03] D0/6855: FF end of script ; [ Animation Script $0080: Shock (sprite) ] D0/6856: 00 20 speed 1, align to center of character/monster D0/6858: D1 01 invalidate character/monster sprite priority D0/685A: 8E 01 show animation on weapon-hand side of character/monster sprites D0/685C: 85 move to attacker position D0/685D: 8F 61 move forward 2 if mirrored D0/685F: DB 03 branch to $6864 if character already stepped forward to attack D0/6861: BF 19 70 jump to subroutine $7019 D0/6864: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/6867: C9 52 play sound effect $52 D0/6869: 83 E8 move up/back 9 D0/686B: 83 62 move forward 3 D0/686D: 00 [$00] D0/686E: 00 [$00] D0/686F: 83 85 move back 6 D0/6871: 01 [$01] D0/6872: 01 [$01] D0/6873: 83 6F move forward 16 D0/6875: 83 24 move down 5 D0/6877: 02 [$02] D0/6878: 02 [$02] D0/6879: 83 8E move back 15 D0/687B: 83 C3 move up 4 D0/687D: 03 [$03] D0/687E: 03 [$03] D0/687F: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/6882: 83 87 move back 8 D0/6884: 83 3F move down 32 D0/6886: 83 25 move down 6 D0/6888: 04 [$04] D0/6889: 04 [$04] D0/688A: 83 A7 move up/forward 8 D0/688C: 83 21 move down 2 D0/688E: 05 [$05] D0/688F: 05 [$05] D0/6890: 83 27 move down 8 D0/6892: 83 62 move forward 3 D0/6894: 06 [$06] D0/6895: 06 [$06] D0/6896: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/6899: 83 C7 move up 8 D0/689B: 83 69 move forward 10 D0/689D: 07 [$07] D0/689E: 07 [$07] D0/689F: 83 CE move up 15 D0/68A1: 83 88 move back 9 D0/68A3: 08 [$08] D0/68A4: 08 [$08] D0/68A5: 83 C8 move up 9 D0/68A7: 83 88 move back 9 D0/68A9: 09 [$09] D0/68AA: 09 [$09] D0/68AB: 83 87 move back 8 D0/68AD: 83 27 move down 8 D0/68AF: C2 80 unpause bg1 thread D0/68B1: 89 20 loop start (32 times) D0/68B3: 0A [$0A] D0/68B4: 8A loop end D0/68B5: 89 20 loop start (32 times) D0/68B7: 1F [---] D0/68B8: 8A loop end D0/68B9: FF end of script ; [ Animation Script $0081: Shock (bg1) ] D0/68BA: 00 20 speed 1, align to center of character/monster D0/68BC: D0 20 set tile priority to 2 for all character/monster sprites D0/68BE: B0 FF set background color addition to 31 (white) D0/68C0: C4 80 move bg1 thread to this thread's position D0/68C2: 00 [$00] D0/68C3: BD A0 hide bg1 thread D0/68C5: C9 00 play default sound effect D0/68C7: 89 30 loop start (48 times) D0/68C9: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/68CC: 00 [$00] D0/68CD: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/68D0: B5 F1 decrease background color addition by 1 (white) D0/68D2: 00 [$00] D0/68D3: 8A loop end D0/68D4: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/68D6: 89 20 loop start (32 times) D0/68D8: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/68DB: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/68DD: 00 [$00] D0/68DE: 00 [$00] D0/68DF: 8A loop end D0/68E0: D1 00 validate character/monster sprite priority D0/68E2: FF end of script ; [ Animation Script $0250: Dance Trip Up (sprite) ] D0/68E3: 00 20 speed 1, align to center of character/monster D0/68E5: DB 03 branch to $68EA if character already stepped forward to attack D0/68E7: BF 19 70 jump to subroutine $7019 D0/68EA: D1 01 invalidate character/monster sprite priority D0/68EC: C9 00 play default sound effect D0/68EE: BF 31 69 jump to subroutine $6931 D0/68F1: C9 00 play default sound effect D0/68F3: BF 31 69 jump to subroutine $6931 D0/68F6: BF 5D 71 jump to subroutine $715D D0/68F9: 89 08 loop start (8 times) D0/68FB: 1F [---] D0/68FC: 8A loop end D0/68FD: BF 5D 71 jump to subroutine $715D D0/6900: C9 A9 play sound effect $A9 D0/6902: 81 00 00 change attacker graphic to 0 (no action) D0/6905: C8 01 change attacker action to 1 (dead, horizontal) D0/6907: 89 1F loop start (31 times) D0/6909: 1F [---] D0/690A: 8A loop end D0/690B: C8 00 change attacker action to 0 (no action) D0/690D: FF end of script ; [ Animation Script $007F: Dance (sprite) ] D0/690E: 00 20 speed 1, align to center of character/monster D0/6910: DB 03 branch to $6915 if character already stepped forward to attack D0/6912: BF 19 70 jump to subroutine $7019 D0/6915: D1 01 invalidate character/monster sprite priority D0/6917: C9 00 play default sound effect D0/6919: BF 31 69 jump to subroutine $6931 D0/691C: C9 00 play default sound effect D0/691E: BF 31 69 jump to subroutine $6931 D0/6921: BF 5D 71 jump to subroutine $715D D0/6924: 89 08 loop start (8 times) D0/6926: 1F [---] D0/6927: 8A loop end D0/6928: C9 F9 play sound effect $F9 D0/692A: BF 5D 71 jump to subroutine $715D D0/692D: 81 00 00 change attacker graphic to 0 (no action) D0/6930: FF end of script D0/6931: 86 C2 move attacker up 3 D0/6933: 83 C2 move up 3 D0/6935: 1F [---] D0/6936: 86 C2 move attacker up 3 D0/6938: 83 C2 move up 3 D0/693A: 1F [---] D0/693B: 86 C1 move attacker up 2 D0/693D: 83 C1 move up 2 D0/693F: 1F [---] D0/6940: 86 C1 move attacker up 2 D0/6942: 83 C1 move up 2 D0/6944: 1F [---] D0/6945: 86 C0 move attacker up 1 D0/6947: 83 C0 move up 1 D0/6949: 1F [---] D0/694A: 86 20 move attacker down 1 D0/694C: 83 20 move down 1 D0/694E: 1F [---] D0/694F: 86 21 move attacker down 2 D0/6951: 83 21 move down 2 D0/6953: 1F [---] D0/6954: 86 21 move attacker down 2 D0/6956: 83 21 move down 2 D0/6958: 1F [---] D0/6959: 86 22 move attacker down 3 D0/695B: 83 22 move down 3 D0/695D: 1F [---] D0/695E: 86 22 move attacker down 3 D0/6960: 83 22 move down 3 D0/6962: 1F [---] D0/6963: C0 return from subroutine ; [ Animation Script $007E: Runic (sprite) ] D0/6964: 00 20 speed 1, align to center of character/monster D0/6966: 85 move to attacker position D0/6967: DB 03 branch to $696C if character already stepped forward to attack D0/6969: BF 19 70 jump to subroutine $7019 D0/696C: 80 86 00 play sound effect $00 (pan to thread x position) D0/696F: 81 07 07 change attacker graphic to 7 (jumping) D0/6972: 84 04 set animation speed to 5 D0/6974: 00 [$00] D0/6975: 01 [$01] D0/6976: 02 [$02] D0/6977: 03 [$03] D0/6978: 04 [$04] D0/6979: 05 [$05] D0/697A: 81 00 00 change attacker graphic to 0 (no action) D0/697D: FF end of script ; [ Animation Script $007D: Blitz (bg1) ] D0/697E: 00 20 speed 1, align to center of character/monster D0/6980: 85 move to attacker position D0/6981: DB 03 branch to $6986 if character already stepped forward to attack D0/6983: BF 67 70 jump to subroutine $7067 D0/6986: 80 86 00 play sound effect $00 (pan to thread x position) D0/6989: 81 07 07 change attacker graphic to 7 (jumping) D0/698C: CC FF set bg1 animation palette color subtraction to 31 (black) D0/698E: 84 02 set animation speed to 3 D0/6990: 89 10 loop start (16 times) D0/6992: CF F2 decrease bg1 animation palette color subtraction by 2 (black) D0/6994: 00 [$00] D0/6995: 8A loop end D0/6996: 84 02 set animation speed to 3 D0/6998: 00 [$00] D0/6999: 01 [$01] D0/699A: 02 [$02] D0/699B: 03 [$03] D0/699C: 04 [$04] D0/699D: 05 [$05] D0/699E: 06 [$06] D0/699F: 07 [$07] D0/69A0: 81 00 00 change attacker graphic to 0 (no action) D0/69A3: FF end of script ; [ Animation Script $007C: SwdTech (bg1) ] D0/69A4: 00 20 speed 1, align to center of character/monster D0/69A6: D1 01 invalidate character/monster sprite priority D0/69A8: DB 03 branch to $69AD if character already stepped forward to attack D0/69AA: BF 67 70 jump to subroutine $7067 D0/69AD: 80 86 00 play sound effect $00 (pan to thread x position) D0/69B0: 81 07 07 change attacker graphic to 7 (jumping) D0/69B3: 85 move to attacker position D0/69B4: A5 00 00 18 FF FF 18 00 init circle at (0,0) D0/69BC: A8 move circle to attacker D0/69BD: 83 8C move back 13 D0/69BF: A9 D0 00 move circle (-48,+0) D0/69C2: 00 [$00] D0/69C3: A9 0C 00 move circle (+12,+0) D0/69C6: 00 [$00] D0/69C7: A7 update circle D0/69C8: 00 [$00] D0/69C9: BD A0 hide bg1 thread D0/69CB: 89 12 loop start (18 times) D0/69CD: A3 16 32 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/69D0: A9 06 00 move circle (+6,+0) D0/69D3: A7 update circle D0/69D4: 00 [$00] D0/69D5: 8A loop end D0/69D6: 81 00 00 change attacker graphic to 0 (no action) D0/69D9: FF end of script ; [ Animation Script $007A: Revert (sprite) ] D0/69DA: 00 20 speed 1, align to center of character/monster D0/69DC: BF 19 70 jump to subroutine $7019 D0/69DF: D1 01 invalidate character/monster sprite priority D0/69E1: BF 5D 71 jump to subroutine $715D D0/69E4: 80 60 00 00 00 08 command $80/$60 D0/69EA: BF 5D 71 jump to subroutine $715D D0/69ED: 81 00 00 change attacker graphic to 0 (no action) D0/69F0: D1 00 validate character/monster sprite priority D0/69F2: FF end of script ; [ Animation Script $007B: Steal (sprite) ] D0/69F3: 00 00 speed 1, align to bottom of character/monster D0/69F5: C9 00 play default sound effect D0/69F7: 85 move to attacker position D0/69F8: 95 calculate vector from attacker to target D0/69F9: 93 00 move to vector position 0 D0/69FB: 81 07 07 change attacker graphic to 7 (jumping) D0/69FE: 1F [---] D0/69FF: A0 0A 03 jump forward along vector at speed 10, branch to $69FE D0/6A02: 81 14 14 change attacker graphic to 20 (kneeling) D0/6A05: 89 08 loop start (8 times) D0/6A07: 1F [---] D0/6A08: 8A loop end D0/6A09: 81 37 37 change attacker graphic to 7 (jumping) D0/6A0C: 1F [---] D0/6A0D: A1 0A 03 jump backward along vector at speed 10, branch to $6A0C D0/6A10: 81 00 00 change attacker graphic to 0 (no action) D0/6A13: FF end of script ; [ Animation Script $0143: Leap (sprite) ] D0/6A14: 00 00 speed 1, align to bottom of character/monster D0/6A16: BF 19 70 jump to subroutine $7019 D0/6A19: 80 72 01 branch to $6A1D if attack hit D0/6A1C: FF end of script D0/6A1D: C9 00 play default sound effect D0/6A1F: 85 move to attacker position D0/6A20: 95 calculate vector from attacker to target D0/6A21: 93 00 move to vector position 0 D0/6A23: 81 07 07 change attacker graphic to 7 (jumping) D0/6A26: 1F [---] D0/6A27: A0 06 03 jump forward along vector at speed 6, branch to $6A26 D0/6A2A: FF end of script ; [ Animation Script $0079: Morph (bg1) ] D0/6A2B: 00 20 speed 1, align to center of character/monster D0/6A2D: D1 01 invalidate character/monster sprite priority D0/6A2F: BF 67 70 jump to subroutine $7067 D0/6A32: 81 07 07 change attacker graphic to 7 (jumping) D0/6A35: 80 86 00 play sound effect $00 (pan to thread x position) D0/6A38: 85 move to attacker position D0/6A39: CC FF set bg1 animation palette color subtraction to 31 (black) D0/6A3B: 89 07 loop start (7 times) D0/6A3D: CF F4 decrease bg1 animation palette color subtraction by 4 (black) D0/6A3F: A3 16 32 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/6A42: 00 [$00] D0/6A43: BD A0 hide bg1 thread D0/6A45: 8A loop end D0/6A46: A3 16 31 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/6A49: 80 60 00 00 00 08 command $80/$60 D0/6A4F: 00 [$00] D0/6A50: 89 20 loop start (32 times) D0/6A52: A3 16 32 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/6A55: 00 [$00] D0/6A56: 8A loop end D0/6A57: 89 07 loop start (7 times) D0/6A59: CF E4 increase bg1 animation palette color subtraction by 4 (black) D0/6A5B: A3 16 32 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift) D0/6A5E: 00 [$00] D0/6A5F: 8A loop end D0/6A60: 81 00 00 change attacker graphic to 0 (no action) D0/6A63: FF end of script ; [ Animation Script $0078: Rage/Lore (bg1) ] D0/6A64: 00 20 speed 1, align to center of character/monster D0/6A66: DB 03 branch to $6A6B if character already stepped forward to attack D0/6A68: BF 67 70 jump to subroutine $7067 D0/6A6B: D1 01 invalidate character/monster sprite priority D0/6A6D: 80 86 00 play sound effect $00 (pan to thread x position) D0/6A70: DD 00 00 00 00 init triangle D0/6A75: DE move triangle to attacker position D0/6A76: 81 07 07 change attacker graphic to 7 (jumping) D0/6A79: CC FF set bg1 animation palette color subtraction to 31 (black) D0/6A7B: E0 00 00 00 08 move triangle (+0,+0), rotate +8 units D0/6A80: DC update triangle 2d D0/6A81: 00 [$00] D0/6A82: BD A0 hide bg1 thread D0/6A84: 85 move to attacker position D0/6A85: 89 07 loop start (7 times) D0/6A87: CF F4 decrease bg1 animation palette color subtraction by 4 (black) D0/6A89: A3 17 34 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/6A8C: E0 00 00 04 10 move triangle (+0,+0) and change diameter by +4, rotate +16 units D0/6A91: DC update triangle 2d D0/6A92: 00 [$00] D0/6A93: 8A loop end D0/6A94: 89 04 loop start (4 times) D0/6A96: A3 17 34 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/6A99: E0 00 00 04 10 move triangle (+0,+0) and change diameter by +4, rotate +16 units D0/6A9E: DC update triangle 2d D0/6A9F: 00 [$00] D0/6AA0: 8A loop end D0/6AA1: 89 0F loop start (15 times) D0/6AA3: A3 17 34 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/6AA6: E0 00 00 00 10 move triangle (+0,+0), rotate +16 units D0/6AAB: DC update triangle 2d D0/6AAC: 00 [$00] D0/6AAD: 8A loop end D0/6AAE: 89 07 loop start (7 times) D0/6AB0: CF E4 increase bg1 animation palette color subtraction by 4 (black) D0/6AB2: A3 17 34 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/6AB5: E0 00 00 FC 10 move triangle (+0,+0) and change diameter by -4, rotate +16 units D0/6ABA: DC update triangle 2d D0/6ABB: 00 [$00] D0/6ABC: 8A loop end D0/6ABD: D1 00 validate character/monster sprite priority D0/6ABF: 81 00 00 change attacker graphic to 0 (no action) D0/6AC2: FF end of script ; [ Animation Script $0077: Esper Magic (bg1) ] D0/6AC3: 00 20 speed 1, align to center of character/monster D0/6AC5: B1 FF set sprite animation palette color subtraction to 31 (black) D0/6AC7: DB 03 branch to $6ACC if character already stepped forward to attack D0/6AC9: BF 67 70 jump to subroutine $7067 D0/6ACC: 81 07 07 change attacker graphic to 7 (jumping) D0/6ACF: 80 86 00 play sound effect $00 (pan to thread x position) D0/6AD2: 89 07 loop start (7 times) D0/6AD4: B8 F4 decrease sprite animation palette color subtraction by 4 (black) D0/6AD6: 0F [$0F] D0/6AD7: 8A loop end D0/6AD8: 89 17 loop start (23 times) D0/6ADA: 0F [$0F] D0/6ADB: 8A loop end D0/6ADC: 89 07 loop start (7 times) D0/6ADE: B8 E4 increase sprite animation palette color subtraction by 4 (black) D0/6AE0: 0F [$0F] D0/6AE1: 8A loop end D0/6AE2: 81 00 00 change attacker graphic to 0 (no action) D0/6AE5: FF end of script ; [ Animation Script $0076: Esper Magic (sprite) ] D0/6AE6: 00 20 speed 1, align to center of character/monster D0/6AE8: D1 01 invalidate character/monster sprite priority D0/6AEA: 90 00 set animation tile priority to 0 D0/6AEC: 85 move to attacker position D0/6AED: DB 06 branch to $6AF5 if character already stepped forward to attack D0/6AEF: 89 07 loop start (7 times) D0/6AF1: 83 62 move forward 3 D0/6AF3: 1F [---] D0/6AF4: 8A loop end D0/6AF5: 89 1F loop start (31 times) D0/6AF7: 80 0B command $80/$0B D0/6AF9: 00 [$00] D0/6AFA: 8A loop end D0/6AFB: FF end of script ; [ Animation Script $0075: White/Effect Magic (sprite) ] D0/6AFC: 00 20 speed 1, align to center of character/monster D0/6AFE: 85 move to attacker position D0/6AFF: DB 06 branch to $6B07 if character already stepped forward to attack D0/6B01: 89 07 loop start (7 times) D0/6B03: 83 62 move forward 3 D0/6B05: 1F [---] D0/6B06: 8A loop end D0/6B07: 89 20 loop start (32 times) D0/6B09: 80 0A command $80/$0A D0/6B0B: 00 [$00] D0/6B0C: 8A loop end D0/6B0D: FF end of script ; [ Animation Script $0073: Black Magic (bg1) ] D0/6B0E: 00 20 speed 1, align to center of character/monster D0/6B10: D1 01 invalidate character/monster sprite priority D0/6B12: DB 03 branch to $6B17 if character already stepped forward to attack D0/6B14: BF 67 70 jump to subroutine $7067 D0/6B17: 80 86 00 play sound effect $00 (pan to thread x position) D0/6B1A: 85 move to attacker position D0/6B1B: 81 07 07 change attacker graphic to 7 (jumping) D0/6B1E: CC FF set bg1 animation palette color subtraction to 31 (black) D0/6B20: 00 [$00] D0/6B21: BD A0 hide bg1 thread D0/6B23: 89 07 loop start (7 times) D0/6B25: CF F4 decrease bg1 animation palette color subtraction by 4 (black) D0/6B27: A3 17 34 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/6B2A: 00 [$00] D0/6B2B: 8A loop end D0/6B2C: 89 0F loop start (15 times) D0/6B2E: A3 17 34 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/6B31: 00 [$00] D0/6B32: 8A loop end D0/6B33: 89 07 loop start (7 times) D0/6B35: CF E4 increase bg1 animation palette color subtraction by 4 (black) D0/6B37: A3 17 34 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/6B3A: 00 [$00] D0/6B3B: 8A loop end D0/6B3C: 81 00 00 change attacker graphic to 0 (no action) D0/6B3F: FF end of script ; [ Animation Script $0041: Monster Attack (sprite) ] D0/6B40: 00 20 speed 1, align to center of character/monster D0/6B42: DB 03 branch to $6B47 if character already stepped forward to attack D0/6B44: BF 19 70 jump to subroutine $7019 D0/6B47: 81 07 07 change attacker graphic to 7 (jumping) D0/6B4A: FF end of script ; [ Animation Script $0072: Sketch (sprite) ] D0/6B4B: 00 20 speed 1, align to center of character/monster D0/6B4D: 85 move to attacker position D0/6B4E: 8F 61 move forward 2 if mirrored D0/6B50: DB 03 branch to $6B55 if character already stepped forward to attack D0/6B52: BF 19 70 jump to subroutine $7019 D0/6B55: C9 00 play default sound effect D0/6B57: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/6B5A: 84 03 set animation speed to 4 D0/6B5C: 83 33 move down 20 D0/6B5E: 83 71 move forward 18 D0/6B60: 83 C6 move up 7 D0/6B62: 00 [$00] D0/6B63: 02 [$02] D0/6B64: 03 [$03] D0/6B65: 83 28 move down 9 D0/6B67: 04 [$04] D0/6B68: 05 [$05] D0/6B69: 06 [$06] D0/6B6A: 83 C8 move up 9 D0/6B6C: 07 [$07] D0/6B6D: 00 [$00] D0/6B6E: 01 [$01] D0/6B6F: 02 [$02] D0/6B70: 03 [$03] D0/6B71: 83 28 move down 9 D0/6B73: 04 [$04] D0/6B74: 83 C8 move up 9 D0/6B76: 03 [$03] D0/6B77: 02 [$02] D0/6B78: 01 [$01] D0/6B79: 00 [$00] D0/6B7A: 84 01 set animation speed to 2 D0/6B7C: 81 00 00 change attacker graphic to 0 (no action) D0/6B7F: FF end of script ; [ Animation Script $0070: Spiraler (bg1) ] D0/6B80: 00 20 speed 1, align to center of character/monster D0/6B82: D1 01 invalidate character/monster sprite priority D0/6B84: C9 00 play default sound effect D0/6B86: F7 A0 wait until scanline 160 D0/6B88: AD 08 set bg1 hdma scroll type to 8 D0/6B8A: B0 20 set background color addition to 0 (blue) D0/6B8C: 0F [$0F] D0/6B8D: 89 07 loop start (7 times) D0/6B8F: B5 22 increase background color addition by 2 (blue) D0/6B91: 0F [$0F] D0/6B92: 8A loop end D0/6B93: CC FF set bg1 animation palette color subtraction to 31 (black) D0/6B95: 00 [$00] D0/6B96: BD A0 hide bg1 thread D0/6B98: BF 72 71 jump to subroutine $7172 D0/6B9B: 81 07 07 change attacker graphic to 7 (jumping) D0/6B9E: 85 move to attacker position D0/6B9F: 83 DF move up 32 D0/6BA1: 83 DF move up 32 D0/6BA3: D2 80 60 set vector target to (128,96) D0/6BA6: 95 calculate vector from attacker to target D0/6BA7: 93 00 move to vector position 0 D0/6BA9: 80 06 clear tornado data D0/6BAB: 80 07 move tornado to thread position D0/6BAD: 89 13 loop start (19 times) D0/6BAF: DA 02 01 move tornado sinusoidally with speed (+2,+1) D0/6BB2: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/6BB5: CF F2 decrease bg1 animation palette color subtraction by 2 (black) D0/6BB7: 86 C7 move attacker up 8 D0/6BB9: 80 09 update character/monster sprite tile priority for tornado D0/6BBB: 00 [$00] D0/6BBC: 80 08 move thread to vector position D0/6BBE: 8A loop end D0/6BBF: E1 00 hide attacking character sprite D0/6BC1: 80 07 move tornado to thread position D0/6BC3: DA 02 01 move tornado sinusoidally with speed (+2,+1) D0/6BC6: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/6BC9: 80 09 update character/monster sprite tile priority for tornado D0/6BCB: 00 [$00] D0/6BCC: 92 01 0D move along vector at speed 1, branch to $6BC1 D0/6BCF: 89 80 loop start (128 times) D0/6BD1: DA 02 01 move tornado sinusoidally with speed (+2,+1) D0/6BD4: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/6BD7: 80 09 update character/monster sprite tile priority for tornado D0/6BD9: 00 [$00] D0/6BDA: 8A loop end D0/6BDB: 89 13 loop start (19 times) D0/6BDD: DA 02 01 move tornado sinusoidally with speed (+2,+1) D0/6BE0: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/6BE3: CF E2 increase bg1 animation palette color subtraction by 2 (black) D0/6BE5: 86 27 move attacker down 8 D0/6BE7: 80 09 update character/monster sprite tile priority for tornado D0/6BE9: 00 [$00] D0/6BEA: 8A loop end D0/6BEB: AD 03 set bg1 hdma scroll type to 3 D0/6BED: 80 06 clear tornado data D0/6BEF: 81 00 00 change attacker graphic to 0 (no action) D0/6BF2: 89 07 loop start (7 times) D0/6BF4: B5 32 decrease background color addition by 2 (blue) D0/6BF6: 00 [$00] D0/6BF7: 8A loop end D0/6BF8: D1 00 validate character/monster sprite priority D0/6BFA: FF end of script ; [ Animation Script $006F: Bum Rush (sprite) ] D0/6BFB: 00 00 speed 1, align to bottom of character/monster D0/6BFD: 85 move to attacker position D0/6BFE: E7 calculate vector from attacking character to target D0/6BFF: CB 81 enable echo sprites (1 frame delay) D0/6C01: 81 07 07 change attacker graphic to 7 (jumping) D0/6C04: 1F [---] D0/6C05: E5 06 03 20 move character forward along vector at speed 6 and height 32, branch to $6C04 D0/6C09: C9 00 play default sound effect D0/6C0B: 80 05 command $80/$05 D0/6C0D: D1 01 invalidate character/monster sprite priority D0/6C0F: AD 06 set bg1 hdma scroll type to 6 D0/6C11: AC 82 44 set (bg1) hdma scroll data (amplitude 4, frequency 2, horizontal) D0/6C14: 89 0F loop start (15 times) D0/6C16: D8 08 00 02 command $D8 D0/6C1A: 1F [---] D0/6C1B: 8A loop end D0/6C1C: 81 00 00 change attacker graphic to 0 (no action) D0/6C1F: C8 25 change attacker action to 37 (spinning/confused) D0/6C21: BF 76 6C jump to subroutine $6C76 D0/6C24: BF 76 6C jump to subroutine $6C76 D0/6C27: BF 76 6C jump to subroutine $6C76 D0/6C2A: D9 20 set attacker sprite tile priority to 2 D0/6C2C: 89 0F loop start (15 times) D0/6C2E: D8 04 F8 00 command $D8 D0/6C32: AE 44 update (bg1) hdma scroll data (horizontal) D0/6C34: 1F [---] D0/6C35: 8A loop end D0/6C36: D9 30 set attacker sprite tile priority to 3 D0/6C38: 89 03 loop start (3 times) D0/6C3A: D8 F8 F8 00 command $D8 D0/6C3E: B0 E0 set background color addition to 0 (white) D0/6C40: AE 44 update (bg1) hdma scroll data (horizontal) D0/6C42: 1F [---] D0/6C43: D8 F8 F8 00 command $D8 D0/6C47: B0 E0 set background color addition to 0 (white) D0/6C49: AE 44 update (bg1) hdma scroll data (horizontal) D0/6C4B: 1F [---] D0/6C4C: 8A loop end D0/6C4D: 89 10 loop start (16 times) D0/6C4F: D8 F8 00 00 command $D8 D0/6C53: B0 E0 set background color addition to 0 (white) D0/6C55: AE 44 update (bg1) hdma scroll data (horizontal) D0/6C57: 1F [---] D0/6C58: 8A loop end D0/6C59: 80 25 clear bg1 hdma scroll data D0/6C5B: C8 00 change attacker action to 0 (no action) D0/6C5D: AD 03 set bg1 hdma scroll type to 3 D0/6C5F: D1 00 validate character/monster sprite priority D0/6C61: 81 37 37 change attacker graphic to 7 (jumping) D0/6C64: 1F [---] D0/6C65: E6 06 03 20 move character backward along vector at speed 6 and height 32, branch to $6C64 D0/6C69: 81 44 44 change attacker graphic to 20 (kneeling) D0/6C6C: 89 1F loop start (31 times) D0/6C6E: 1F [---] D0/6C6F: 8A loop end D0/6C70: 81 00 00 change attacker graphic to 0 (no action) D0/6C73: CB 01 disable echo sprites D0/6C75: FF end of script D0/6C76: D9 20 set attacker sprite tile priority to 2 D0/6C78: 89 07 loop start (7 times) D0/6C7A: D8 04 F8 00 command $D8 D0/6C7E: B0 FF set background color addition to 31 (white) D0/6C80: AE 44 update (bg1) hdma scroll data (horizontal) D0/6C82: 1F [---] D0/6C83: D8 04 F8 00 command $D8 D0/6C87: B0 E0 set background color addition to 0 (white) D0/6C89: AE 44 update (bg1) hdma scroll data (horizontal) D0/6C8B: 1F [---] D0/6C8C: 8A loop end D0/6C8D: D9 30 set attacker sprite tile priority to 3 D0/6C8F: 89 07 loop start (7 times) D0/6C91: D8 04 F8 00 command $D8 D0/6C95: B0 FF set background color addition to 31 (white) D0/6C97: AE 44 update (bg1) hdma scroll data (horizontal) D0/6C99: 1F [---] D0/6C9A: D8 04 F8 00 command $D8 D0/6C9E: B0 E0 set background color addition to 0 (white) D0/6CA0: AE 44 update (bg1) hdma scroll data (horizontal) D0/6CA2: 1F [---] D0/6CA3: 8A loop end D0/6CA4: C0 return from subroutine ; [ Animation Script $006E: Mantra (bg1) ] D0/6CA5: 00 20 speed 1, align to center of character/monster D0/6CA7: D1 01 invalidate character/monster sprite priority D0/6CA9: C4 80 move bg1 thread to this thread's position D0/6CAB: C9 00 play default sound effect D0/6CAD: AC 82 44 set (bg1) hdma scroll data (amplitude 4, frequency 2, horizontal) D0/6CB0: 81 07 07 change attacker graphic to 7 (jumping) D0/6CB3: AD 06 set bg1 hdma scroll type to 6 D0/6CB5: CC E0 set bg1 animation palette color subtraction to 0 (black) D0/6CB7: A5 00 00 02 DE FF 7F 00 init circle at (0,0) D0/6CBF: A8 move circle to attacker D0/6CC0: A9 00 03 move circle (+0,+3) D0/6CC3: 89 28 loop start (40 times) D0/6CC5: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/6CC8: A6 00 00 02 move circle (+0,+0) and grow by 2 D0/6CCC: A7 update circle D0/6CCD: AE 44 update (bg1) hdma scroll data (horizontal) D0/6CCF: 00 [$00] D0/6CD0: 8A loop end D0/6CD1: F7 A0 wait until scanline 160 D0/6CD3: D4 02 01 12 add (sprites, bg2) to (bg1) D0/6CD7: 89 0F loop start (15 times) D0/6CD9: CF E2 increase bg1 animation palette color subtraction by 2 (black) D0/6CDB: A3 17 31 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/6CDE: A7 update circle D0/6CDF: AE 44 update (bg1) hdma scroll data (horizontal) D0/6CE1: 00 [$00] D0/6CE2: 8A loop end D0/6CE3: 80 25 clear bg1 hdma scroll data D0/6CE5: 81 00 00 change attacker graphic to 0 (no action) D0/6CE8: AD 03 set bg1 hdma scroll type to 3 D0/6CEA: D1 00 validate character/monster sprite priority D0/6CEC: FF end of script ; [ Animation Script $006C: Air Blade Hit (sprite) ] D0/6CED: 00 20 speed 1, align to center of character/monster D0/6CEF: D1 01 invalidate character/monster sprite priority D0/6CF1: 85 move to attacker position D0/6CF2: 95 calculate vector from attacker to target D0/6CF3: 93 10 move to vector position 16 D0/6CF5: 83 8F move back 16 D0/6CF7: 81 07 17 change attacker graphic to 7 (jumping) if facing left or 23 (hands up, facing down) if facing right D0/6CFA: 00 [$00] D0/6CFB: 00 [$00] D0/6CFC: 01 [$01] D0/6CFD: 01 [$01] D0/6CFE: 81 18 37 change attacker graphic to 24 (hands up, facing up) if facing left or 7 (jumping) if facing right D0/6D01: 02 [$02] D0/6D02: 02 [$02] D0/6D03: 03 [$03] D0/6D04: 03 [$03] D0/6D05: 81 37 18 change attacker graphic to 7 (jumping) if facing left or 24 (hands up, facing up) if facing right D0/6D08: 04 [$04] D0/6D09: 04 [$04] D0/6D0A: 05 [$05] D0/6D0B: 05 [$05] D0/6D0C: 81 17 07 change attacker graphic to 23 (hands up, facing down) if facing left or 7 (jumping) if facing right D0/6D0F: 06 [$06] D0/6D10: 06 [$06] D0/6D11: C2 80 unpause bg1 thread D0/6D13: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/6D16: C9 00 play default sound effect D0/6D18: 07 [$07] D0/6D19: 92 08 03 move along vector at speed 8, branch to $6D18 D0/6D1C: C9 18 play sound effect $18 D0/6D1E: 84 02 set animation speed to 3 D0/6D20: 83 6F move forward 16 D0/6D22: 08 [$08] D0/6D23: 87 61 move target forward 2 D0/6D25: 07 [$07] D0/6D26: 87 81 move target back 2 D0/6D28: 09 [$09] D0/6D29: 87 61 move target forward 2 D0/6D2B: 0A [$0A] D0/6D2C: 87 81 move target back 2 D0/6D2E: 0B [$0B] D0/6D2F: 87 61 move target forward 2 D0/6D31: 0C [$0C] D0/6D32: 87 81 move target back 2 D0/6D34: 0D [$0D] D0/6D35: 87 61 move target forward 2 D0/6D37: 0E [$0E] D0/6D38: 87 81 move target back 2 D0/6D3A: 0F [$0F] D0/6D3B: 87 61 move target forward 2 D0/6D3D: 10 [$10] D0/6D3E: 87 81 move target back 2 D0/6D40: 11 [$11] D0/6D41: 87 61 move target forward 2 D0/6D43: 12 [$12] D0/6D44: 87 81 move target back 2 D0/6D46: 13 [$13] D0/6D47: 14 [$14] D0/6D48: 15 [$15] D0/6D49: 16 [$16] D0/6D4A: 17 [$17] D0/6D4B: 81 00 00 change attacker graphic to 0 (no action) D0/6D4E: D1 00 validate character/monster sprite priority D0/6D50: FF end of script ; [ Animation Script $006D: Air Blade (bg1) ] D0/6D51: 00 A0 speed 1, align to center of screen D0/6D53: C4 80 move bg1 thread to this thread's position D0/6D55: D0 20 set tile priority to 2 for all character/monster sprites D0/6D57: CC FF set bg1 animation palette color subtraction to 31 (black) D0/6D59: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/6D5B: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/6D5E: 00 [$00] D0/6D5F: BD A0 hide bg1 thread D0/6D61: 89 20 loop start (32 times) D0/6D63: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/6D65: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/6D68: 00 [$00] D0/6D69: 8A loop end D0/6D6A: 89 20 loop start (32 times) D0/6D6C: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/6D6F: 00 [$00] D0/6D70: 8A loop end D0/6D71: 89 20 loop start (32 times) D0/6D73: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/6D75: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/6D78: 00 [$00] D0/6D79: 8A loop end D0/6D7A: FF end of script ; [ Animation Script $006B: Fire Dance (bg1) ] D0/6D7B: 00 20 speed 1, align to center of character/monster D0/6D7D: D1 01 invalidate character/monster sprite priority D0/6D7F: BD A0 hide bg1 thread D0/6D81: C9 00 play default sound effect D0/6D83: AF 60 set background color subtraction to 0 (red) D0/6D85: C8 09 change attacker action to 9 (casting) D0/6D87: 89 07 loop start (7 times) D0/6D89: B6 62 increase background color subtraction by 2 (red) D0/6D8B: 1F [---] D0/6D8C: 8A loop end D0/6D8D: AC 42 48 set (bg2) hdma scroll data (amplitude 8, frequency 2, horizontal) D0/6D90: 89 34 loop start (52 times) D0/6D92: AE 42 update (bg2) hdma scroll data (horizontal) D0/6D94: 00 [$00] D0/6D95: AE 42 update (bg2) hdma scroll data (horizontal) D0/6D97: 00 [$00] D0/6D98: AE 42 update (bg2) hdma scroll data (horizontal) D0/6D9A: 00 [$00] D0/6D9B: 8A loop end D0/6D9C: AC 42 46 set (bg2) hdma scroll data (amplitude 6, frequency 2, horizontal) D0/6D9F: BF BD 6D jump to subroutine $6DBD D0/6DA2: AC 42 44 set (bg2) hdma scroll data (amplitude 4, frequency 2, horizontal) D0/6DA5: BF BD 6D jump to subroutine $6DBD D0/6DA8: AC 42 42 set (bg2) hdma scroll data (amplitude 2, frequency 2, horizontal) D0/6DAB: BF BD 6D jump to subroutine $6DBD D0/6DAE: AC 40 40 set (bg2) hdma scroll data (amplitude 0, frequency 0, horizontal) D0/6DB1: AE 42 update (bg2) hdma scroll data (horizontal) D0/6DB3: 89 0F loop start (15 times) D0/6DB5: B6 71 decrease background color subtraction by 1 (red) D0/6DB7: 00 [$00] D0/6DB8: 00 [$00] D0/6DB9: 8A loop end D0/6DBA: D1 00 validate character/monster sprite priority D0/6DBC: FF end of script D0/6DBD: AE 42 update (bg2) hdma scroll data (horizontal) D0/6DBF: 00 [$00] D0/6DC0: AE 42 update (bg2) hdma scroll data (horizontal) D0/6DC2: 00 [$00] D0/6DC3: AE 42 update (bg2) hdma scroll data (horizontal) D0/6DC5: 00 [$00] D0/6DC6: C0 return from subroutine ; [ Animation Script $006A: Fire Dance (sprite) ] D0/6DC7: 00 20 speed 1, align to center of character/monster D0/6DC9: 89 20 loop start (32 times) D0/6DCB: 1F [---] D0/6DCC: 8A loop end D0/6DCD: 85 move to attacker position D0/6DCE: 83 DF move up 32 D0/6DD0: 80 04 init fire dance sprite position D0/6DD2: 89 80 loop start (128 times) D0/6DD4: D7 7F update fire dance sprites with radius 127 D0/6DD6: 83 60 move forward 1 D0/6DD8: 00 [$00] D0/6DD9: 8A loop end D0/6DDA: FF end of script D0/6DDB: 95 calculate vector from attacker to target D0/6DDC: 93 00 move to vector position 0 D0/6DDE: 1F [---] D0/6DDF: A0 08 03 jump forward along vector at speed 8, branch to $6DDE D0/6DE2: C0 return from subroutine ; [ Animation Script $0069: Suplex (sprite) ] D0/6DE3: 00 00 speed 1, align to bottom of character/monster D0/6DE5: 85 move to attacker position D0/6DE6: 95 calculate vector from attacker to target D0/6DE7: 93 00 move to vector position 0 D0/6DE9: 81 07 07 change attacker graphic to 7 (jumping) D0/6DEC: C9 5B play sound effect $5B D0/6DEE: 1F [---] D0/6DEF: A0 08 03 jump forward along vector at speed 8, branch to $6DEE D0/6DF2: D1 01 invalidate character/monster sprite priority D0/6DF4: 81 14 14 change attacker graphic to 20 (kneeling) D0/6DF7: 89 08 loop start (8 times) D0/6DF9: 1F [---] D0/6DFA: 8A loop end D0/6DFB: 81 07 07 change attacker graphic to 7 (jumping) D0/6DFE: 80 72 0B branch to $6E0C if attack hit D0/6E01: 81 37 37 change attacker graphic to 7 (jumping) D0/6E04: 1F [---] D0/6E05: A1 08 03 jump backward along vector at speed 8, branch to $6E04 D0/6E08: 81 00 00 change attacker graphic to 0 (no action) D0/6E0B: FF end of script D0/6E0C: C9 6A play sound effect $6A D0/6E0E: 89 15 loop start (21 times) D0/6E10: 86 C7 move attacker up 8 D0/6E12: 87 C7 move target up 8 D0/6E14: 1F [---] D0/6E15: 8A loop end D0/6E16: 89 1F loop start (31 times) D0/6E18: 1F [---] D0/6E19: 8A loop end D0/6E1A: D5 02 flip target monster vertically D0/6E1C: 80 7E command $80/$7E D0/6E1E: 81 14 14 change attacker graphic to 20 (kneeling) D0/6E21: 89 15 loop start (21 times) D0/6E23: 86 27 move attacker down 8 D0/6E25: 87 27 move target down 8 D0/6E27: 1F [---] D0/6E28: 8A loop end D0/6E29: C9 60 play sound effect $60 D0/6E2B: 89 07 loop start (7 times) D0/6E2D: D6 02 01 scroll background to (2,1) D0/6E30: 1F [---] D0/6E31: D6 FE FF scroll background to (-2,-1) D0/6E34: 1F [---] D0/6E35: 8A loop end D0/6E36: D6 00 00 scroll background to (0,0) D0/6E39: D5 02 flip target monster vertically D0/6E3B: 80 7E command $80/$7E D0/6E3D: 81 37 37 change attacker graphic to 7 (jumping) D0/6E40: 1F [---] D0/6E41: A1 08 03 jump backward along vector at speed 8, branch to $6E40 D0/6E44: 81 00 00 change attacker graphic to 0 (no action) D0/6E47: FF end of script ; [ Animation Script $0066: AuraBolt (bg1) ] D0/6E48: 00 20 speed 1, align to center of character/monster D0/6E4A: F7 A0 wait until scanline 160 D0/6E4C: D4 02 01 12 add (sprites, bg2) to (bg1) D0/6E50: 80 4F move to attacking character position D0/6E52: 83 7F move forward 32 D0/6E54: 83 7F move forward 32 D0/6E56: 83 7F move forward 32 D0/6E58: 83 7F move forward 32 D0/6E5A: 83 66 move forward 7 D0/6E5C: 83 2F move down 16 D0/6E5E: 00 [$00] D0/6E5F: 00 [$00] D0/6E60: 01 [$01] D0/6E61: 01 [$01] D0/6E62: 02 [$02] D0/6E63: 02 [$02] D0/6E64: 03 [$03] D0/6E65: 03 [$03] D0/6E66: 04 [$04] D0/6E67: 04 [$04] D0/6E68: 87 64 move target forward 5 D0/6E6A: 05 [$05] D0/6E6B: 87 64 move target forward 5 D0/6E6D: 05 [$05] D0/6E6E: 87 64 move target forward 5 D0/6E70: 06 [$06] D0/6E71: 06 [$06] D0/6E72: 07 [$07] D0/6E73: 07 [$07] D0/6E74: 08 [$08] D0/6E75: 08 [$08] D0/6E76: 09 [$09] D0/6E77: 09 [$09] D0/6E78: 0A [$0A] D0/6E79: 0A [$0A] D0/6E7A: 0B [$0B] D0/6E7B: 0B [$0B] D0/6E7C: 87 84 move target back 5 D0/6E7E: 0C [$0C] D0/6E7F: 87 84 move target back 5 D0/6E81: 0C [$0C] D0/6E82: 87 84 move target back 5 D0/6E84: 0D [$0D] D0/6E85: 0D [$0D] D0/6E86: FF end of script ; [ Animation Script $0067: AuraBolt (bg3) ] D0/6E87: 00 80 speed 1, initial position $80 D0/6E89: C4 40 move bg3 thread to this thread's position D0/6E8B: AA FF set bg3 animation palette color subtraction to 31 (black) D0/6E8D: 00 [$00] D0/6E8E: BD 50 hide bg3 thread D0/6E90: A5 00 00 01 FF FF 7F 00 init circle at (0,0) D0/6E98: D3 move circle to attacking character D0/6E99: A6 00 EC 00 move circle (+0,-20) D0/6E9D: A9 F8 00 move circle (-8,+0) D0/6EA0: A7 update circle D0/6EA1: 89 12 loop start (18 times) D0/6EA3: B4 F2 decrease bg3 animation palette color subtraction by 2 (black) D0/6EA5: A6 00 00 02 move circle (+0,+0) and grow by 2 D0/6EA9: A7 update circle D0/6EAA: 00 [$00] D0/6EAB: 8A loop end D0/6EAC: 89 03 loop start (3 times) D0/6EAE: A6 00 08 F8 move circle (+0,+8) and shrink by 8 D0/6EB2: A7 update circle D0/6EB3: 00 [$00] D0/6EB4: 8A loop end D0/6EB5: 00 [$00] D0/6EB6: 81 08 08 change attacker graphic to 8 (casting, frame 1) D0/6EB9: C2 80 unpause bg1 thread D0/6EBB: FF end of script ; [ Animation Script $0068: AuraBolt (sprite) ] D0/6EBC: 00 C0 speed 1, align to front of character/monster D0/6EBE: 85 move to attacker position D0/6EBF: E7 calculate vector from attacking character to target D0/6EC0: 81 07 07 change attacker graphic to 7 (jumping) D0/6EC3: 1F [---] D0/6EC4: E5 08 03 20 move character forward along vector at speed 8 and height 32, branch to $6EC3 D0/6EC8: D1 01 invalidate character/monster sprite priority D0/6ECA: C2 40 unpause bg3 thread D0/6ECC: C9 00 play default sound effect D0/6ECE: 89 64 loop start (100 times) D0/6ED0: 1F [---] D0/6ED1: 8A loop end D0/6ED2: 81 37 37 change attacker graphic to 7 (jumping) D0/6ED5: 1F [---] D0/6ED6: E6 08 03 20 move character backward along vector at speed 8 and height 32, branch to $6ED5 D0/6EDA: 81 00 00 change attacker graphic to 0 (no action) D0/6EDD: D1 00 validate character/monster sprite priority D0/6EDF: FF end of script ; [ Animation Script $0065: Pummel, MoogleRush (sprite) ] D0/6EE0: 00 80 speed 1, initial position $80 D0/6EE2: 85 move to attacker position D0/6EE3: E7 calculate vector from attacking character to target D0/6EE4: 81 07 07 change attacker graphic to 7 (jumping) D0/6EE7: 1F [---] D0/6EE8: E5 08 03 20 move character forward along vector at speed 8 and height 32, branch to $6EE7 D0/6EEC: D1 01 invalidate character/monster sprite priority D0/6EEE: C2 80 unpause bg1 thread D0/6EF0: 8E 01 show animation on weapon-hand side of character/monster sprites D0/6EF2: 81 12 06 change attacker graphic to 18 (walking forward, frame 2) if facing left or 6 (walking forward, frame 3) if facing right D0/6EF5: 83 69 move forward 10 D0/6EF7: 8F 61 move forward 2 if mirrored D0/6EF9: BF 31 7F jump to subroutine $7F31 D0/6EFC: D1 00 validate character/monster sprite priority D0/6EFE: 81 37 37 change attacker graphic to 7 (jumping) D0/6F01: 1F [---] D0/6F02: E6 08 03 20 move character backward along vector at speed 8 and height 32, branch to $6F01 D0/6F06: C9 FF play sound effect $FF D0/6F08: 81 00 00 change attacker graphic to 0 (no action) D0/6F0B: FF end of script ; [ Animation Script $01D9: Cleave (sprite) ] D0/6F0C: 00 20 speed 1, align to center of character/monster D0/6F0E: 80 02 command $80/$02 D0/6F10: CB 81 enable echo sprites (1 frame delay) D0/6F12: 8E 01 show animation on weapon-hand side of character/monster sprites D0/6F14: 85 move to attacker position D0/6F15: D2 10 70 set vector target to (16,112) D0/6F18: 95 calculate vector from attacker to target D0/6F19: 93 00 move to vector position 0 D0/6F1B: 8F 61 move forward 2 if mirrored D0/6F1D: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/6F20: 83 32 move down 19 D0/6F22: 83 95 move back 22 D0/6F24: C9 5B play sound effect $5B D0/6F26: 00 [$00] D0/6F27: A0 0C 03 jump forward along vector at speed 12, branch to $6F26 D0/6F2A: D1 01 invalidate character/monster sprite priority D0/6F2C: 81 14 14 change attacker graphic to 20 (kneeling) D0/6F2F: 89 10 loop start (16 times) D0/6F31: 1F [---] D0/6F32: 8A loop end D0/6F33: C9 65 play sound effect $65 D0/6F35: 81 07 07 change attacker graphic to 7 (jumping) D0/6F38: 89 13 loop start (19 times) D0/6F3A: 86 C7 move attacker up 8 D0/6F3C: 1F [---] D0/6F3D: 8A loop end D0/6F3E: 80 03 command $80/$03 D0/6F40: 80 01 command $80/$01 D0/6F42: 89 13 loop start (19 times) D0/6F44: 86 C8 move attacker up 9 D0/6F46: 8A loop end D0/6F47: D1 00 validate character/monster sprite priority D0/6F49: 89 13 loop start (19 times) D0/6F4B: 86 28 move attacker down 9 D0/6F4D: 1F [---] D0/6F4E: 8A loop end D0/6F4F: 81 14 14 change attacker graphic to 20 (kneeling) D0/6F52: 89 08 loop start (8 times) D0/6F54: 1F [---] D0/6F55: 8A loop end D0/6F56: C9 54 play sound effect $54 D0/6F58: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/6F5B: 80 4F move to attacking character position D0/6F5D: 83 95 move back 22 D0/6F5F: 83 39 move down 26 D0/6F61: 00 [$00] D0/6F62: 00 [$00] D0/6F63: 83 63 move forward 4 D0/6F65: 83 22 move down 3 D0/6F67: 01 [$01] D0/6F68: 01 [$01] D0/6F69: 83 7F move forward 32 D0/6F6B: 83 61 move forward 2 D0/6F6D: 83 C4 move up 5 D0/6F6F: 02 [$02] D0/6F70: 02 [$02] D0/6F71: 83 21 move down 2 D0/6F73: 83 62 move forward 3 D0/6F75: 03 [$03] D0/6F76: 03 [$03] D0/6F77: 83 DF move up 32 D0/6F79: 83 C9 move up 10 D0/6F7B: 83 82 move back 3 D0/6F7D: 04 [$04] D0/6F7E: 04 [$04] D0/6F7F: 83 83 move back 4 D0/6F81: 83 C1 move up 2 D0/6F83: 05 [$05] D0/6F84: 05 [$05] D0/6F85: 83 9F move back 32 D0/6F87: 83 84 move back 5 D0/6F89: 83 23 move down 4 D0/6F8B: 89 10 loop start (16 times) D0/6F8D: 06 [$06] D0/6F8E: 8A loop end D0/6F8F: CB 03 disable echo sprites D0/6F91: 81 00 00 change attacker graphic to 0 (no action) D0/6F94: FF end of script ; [ Animation Script $01D7: Empowerer (bg1) ] D0/6F95: 00 20 speed 1, align to center of character/monster D0/6F97: D1 01 invalidate character/monster sprite priority D0/6F99: AD 06 set bg1 hdma scroll type to 6 D0/6F9B: 85 move to attacker position D0/6F9C: 95 calculate vector from attacker to target D0/6F9D: 93 10 move to vector position 16 D0/6F9F: CC FF set bg1 animation palette color subtraction to 31 (black) D0/6FA1: 00 [$00] D0/6FA2: AF C0 set background color subtraction to 0 (blue) D0/6FA4: BD A0 hide bg1 thread D0/6FA6: 89 07 loop start (7 times) D0/6FA8: B6 C1 increase background color subtraction by 1 (blue) D0/6FAA: 00 [$00] D0/6FAB: 00 [$00] D0/6FAC: 8A loop end D0/6FAD: 00 [$00] D0/6FAE: CF F4 decrease bg1 animation palette color subtraction by 4 (black) D0/6FB0: 92 04 05 move along vector at speed 4, branch to $6FAD D0/6FB3: C9 41 play sound effect $41 D0/6FB5: 89 0F loop start (15 times) D0/6FB7: 87 62 move target forward 3 D0/6FB9: B6 D1 decrease background color subtraction by 1 (blue) D0/6FBB: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/6FBD: 00 [$00] D0/6FBE: 87 82 move target back 3 D0/6FC0: B6 D1 decrease background color subtraction by 1 (blue) D0/6FC2: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/6FC4: 00 [$00] D0/6FC5: 8A loop end D0/6FC6: 89 0F loop start (15 times) D0/6FC8: B6 D1 decrease background color subtraction by 1 (blue) D0/6FCA: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/6FCC: 00 [$00] D0/6FCD: 8A loop end D0/6FCE: D1 00 validate character/monster sprite priority D0/6FD0: AD 03 set bg1 hdma scroll type to 3 D0/6FD2: FF end of script ; [ Animation Script $01D8: Empowerer (sprite) ] D0/6FD3: 00 20 speed 1, align to center of character/monster D0/6FD5: 85 move to attacker position D0/6FD6: 8E 01 show animation on weapon-hand side of character/monster sprites D0/6FD8: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/6FDB: 83 F5 move up/back 22 D0/6FDD: 8F 61 move forward 2 if mirrored D0/6FDF: C2 80 unpause bg1 thread D0/6FE1: 89 10 loop start (16 times) D0/6FE3: 1F [---] D0/6FE4: 8A loop end D0/6FE5: C9 00 play default sound effect D0/6FE7: 00 [$00] D0/6FE8: 83 D0 move up 17 D0/6FEA: 83 71 move forward 18 D0/6FEC: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/6FEF: 01 [$01] D0/6FF0: 01 [$01] D0/6FF1: 02 [$02] D0/6FF2: 02 [$02] D0/6FF3: 83 1C move down/forward 29 D0/6FF5: 89 10 loop start (16 times) D0/6FF7: 03 [$03] D0/6FF8: 8A loop end D0/6FF9: 89 20 loop start (32 times) D0/6FFB: 1F [---] D0/6FFC: 8A loop end D0/6FFD: 81 00 00 change attacker graphic to 0 (no action) D0/7000: FF end of script ; [ Animation Script $0059: Stunner Hit (bg1) ] D0/7001: 00 A0 speed 1, align to center of screen D0/7003: C4 80 move bg1 thread to this thread's position D0/7005: D0 20 set tile priority to 2 for all character/monster sprites D0/7007: 83 FF move up/back 32 D0/7009: 83 FF move up/back 32 D0/700B: 83 FF move up/back 32 D0/700D: 83 FF move up/back 32 D0/700F: 00 [$00] D0/7010: BD A0 hide bg1 thread D0/7012: 89 20 loop start (32 times) D0/7014: 83 0B move down/forward 12 D0/7016: 00 [$00] D0/7017: 8A loop end D0/7018: FF end of script D0/7019: F8 33 70 1E 70 jump to $7033 ($701E if magitek) D0/701E: F9 01 00 00 set attacker magitek armor action to 1 (walking) D0/7022: C8 04 change attacker action to 4 (walking forward) D0/7024: 89 17 loop start (23 times) D0/7026: 83 60 move forward 1 D0/7028: 86 60 move attacker forward 1 D0/702A: 1F [---] D0/702B: 8A loop end D0/702C: C8 00 change attacker action to 0 (no action) D0/702E: F9 00 00 00 set attacker magitek armor action to 0 (standing still) D0/7032: C0 return from subroutine D0/7033: C8 04 change attacker action to 4 (walking forward) D0/7035: 89 07 loop start (7 times) D0/7037: 83 62 move forward 3 D0/7039: 86 62 move attacker forward 3 D0/703B: 1F [---] D0/703C: 8A loop end D0/703D: C8 00 change attacker action to 0 (no action) D0/703F: C0 return from subroutine D0/7040: F8 5A 70 45 70 jump to $705A ($7045 if magitek) D0/7045: F9 01 00 00 set attacker magitek armor action to 1 (walking) D0/7049: C8 03 change attacker action to 3 (walking back) D0/704B: 89 17 loop start (23 times) D0/704D: 83 80 move back 1 D0/704F: 86 80 move attacker back 1 D0/7051: 1F [---] D0/7052: 8A loop end D0/7053: C8 00 change attacker action to 0 (no action) D0/7055: F9 00 00 00 set attacker magitek armor action to 0 (standing still) D0/7059: C0 return from subroutine D0/705A: C8 03 change attacker action to 3 (walking back) D0/705C: 89 07 loop start (7 times) D0/705E: 83 82 move back 3 D0/7060: 86 82 move attacker back 3 D0/7062: 1F [---] D0/7063: 8A loop end D0/7064: C8 00 change attacker action to 0 (no action) D0/7066: C0 return from subroutine D0/7067: F8 81 70 6C 70 jump to $7081 ($706C if magitek) D0/706C: F9 01 00 00 set attacker magitek armor action to 1 (walking) D0/7070: C8 04 change attacker action to 4 (walking forward) D0/7072: 89 17 loop start (23 times) D0/7074: 83 60 move forward 1 D0/7076: 86 60 move attacker forward 1 D0/7078: 0F [$0F] D0/7079: 8A loop end D0/707A: C8 00 change attacker action to 0 (no action) D0/707C: F9 00 00 00 set attacker magitek armor action to 0 (standing still) D0/7080: C0 return from subroutine D0/7081: C8 04 change attacker action to 4 (walking forward) D0/7083: 89 07 loop start (7 times) D0/7085: 83 62 move forward 3 D0/7087: 86 62 move attacker forward 3 D0/7089: 0F [$0F] D0/708A: 8A loop end D0/708B: C8 00 change attacker action to 0 (no action) D0/708D: C0 return from subroutine D0/708E: F8 A8 70 93 70 jump to $70A8 ($7093 if magitek) D0/7093: F9 01 00 00 set attacker magitek armor action to 1 (walking) D0/7097: C8 03 change attacker action to 3 (walking back) D0/7099: 89 17 loop start (23 times) D0/709B: 83 80 move back 1 D0/709D: 86 80 move attacker back 1 D0/709F: 0F [$0F] D0/70A0: 8A loop end D0/70A1: C8 00 change attacker action to 0 (no action) D0/70A3: F9 00 00 00 set attacker magitek armor action to 0 (standing still) D0/70A7: C0 return from subroutine D0/70A8: C8 03 change attacker action to 3 (walking back) D0/70AA: 89 07 loop start (7 times) D0/70AC: 83 82 move back 3 D0/70AE: 86 82 move attacker back 3 D0/70B0: 0F [$0F] D0/70B1: 8A loop end D0/70B2: C8 00 change attacker action to 0 (no action) D0/70B4: C0 return from subroutine D0/70B5: F8 CF 70 BA 70 jump to $70CF ($70BA if magitek) D0/70BA: F9 01 00 00 set attacker magitek armor action to 1 (walking) D0/70BE: C8 04 change attacker action to 4 (walking forward) D0/70C0: 89 17 loop start (23 times) D0/70C2: 83 60 move forward 1 D0/70C4: 86 60 move attacker forward 1 D0/70C6: 09 [$09] D0/70C7: 8A loop end D0/70C8: C8 00 change attacker action to 0 (no action) D0/70CA: F9 00 00 00 set attacker magitek armor action to 0 (standing still) D0/70CE: C0 return from subroutine D0/70CF: C8 04 change attacker action to 4 (walking forward) D0/70D1: 89 07 loop start (7 times) D0/70D3: 83 62 move forward 3 D0/70D5: 86 62 move attacker forward 3 D0/70D7: 09 [$09] D0/70D8: 8A loop end D0/70D9: C8 00 change attacker action to 0 (no action) D0/70DB: C0 return from subroutine D0/70DC: F8 F6 70 E1 70 jump to $70F6 ($70E1 if magitek) D0/70E1: F9 01 00 00 set attacker magitek armor action to 1 (walking) D0/70E5: C8 03 change attacker action to 3 (walking back) D0/70E7: 89 17 loop start (23 times) D0/70E9: 83 80 move back 1 D0/70EB: 86 80 move attacker back 1 D0/70ED: 09 [$09] D0/70EE: 8A loop end D0/70EF: C8 00 change attacker action to 0 (no action) D0/70F1: F9 00 00 00 set attacker magitek armor action to 0 (standing still) D0/70F5: C0 return from subroutine D0/70F6: C8 03 change attacker action to 3 (walking back) D0/70F8: 89 07 loop start (7 times) D0/70FA: 83 82 move back 3 D0/70FC: 86 82 move attacker back 3 D0/70FE: 09 [$09] D0/70FF: 8A loop end D0/7100: C8 00 change attacker action to 0 (no action) D0/7102: C0 return from subroutine D0/7103: F8 17 71 08 71 jump to $7117 ($7108 if magitek) D0/7108: F9 01 00 00 set attacker magitek armor action to 1 (walking) D0/710C: 89 17 loop start (23 times) D0/710E: 88 00 "fight" animation (frame 0) D0/7110: 00 [$00] D0/7111: 8A loop end D0/7112: F9 00 00 00 set attacker magitek armor action to 0 (standing still) D0/7116: C0 return from subroutine D0/7117: 88 00 "fight" animation (frame 0) D0/7119: 00 [$00] D0/711A: 88 01 "fight" animation (frame 1) D0/711C: 00 [$00] D0/711D: 88 02 "fight" animation (frame 2) D0/711F: 00 [$00] D0/7120: 88 03 "fight" animation (frame 3) D0/7122: 00 [$00] D0/7123: 88 04 "fight" animation (frame 4) D0/7125: 00 [$00] D0/7126: 88 05 "fight" animation (frame 5) D0/7128: 00 [$00] D0/7129: 88 06 "fight" animation (frame 6) D0/712B: 00 [$00] D0/712C: 88 07 "fight" animation (frame 7) D0/712E: 00 [$00] D0/712F: C0 return from subroutine D0/7130: F8 44 71 35 71 jump to $7144 ($7135 if magitek) D0/7135: F9 01 00 00 set attacker magitek armor action to 1 (walking) D0/7139: 89 17 loop start (23 times) D0/713B: 88 00 "fight" animation (frame 0) D0/713D: 1F [---] D0/713E: F9 00 00 00 set attacker magitek armor action to 0 (standing still) D0/7142: 8A loop end D0/7143: C0 return from subroutine D0/7144: 88 00 "fight" animation (frame 0) D0/7146: 1F [---] D0/7147: 88 01 "fight" animation (frame 1) D0/7149: 1F [---] D0/714A: 88 02 "fight" animation (frame 2) D0/714C: 1F [---] D0/714D: 88 03 "fight" animation (frame 3) D0/714F: 1F [---] D0/7150: 88 04 "fight" animation (frame 4) D0/7152: 1F [---] D0/7153: 88 05 "fight" animation (frame 5) D0/7155: 1F [---] D0/7156: 88 06 "fight" animation (frame 6) D0/7158: 1F [---] D0/7159: 88 07 "fight" animation (frame 7) D0/715B: 1F [---] D0/715C: C0 return from subroutine D0/715D: 81 17 07 change attacker graphic to 23 (hands up, facing down) if facing left or 7 (jumping) if facing right D0/7160: 1F [---] D0/7161: 1F [---] D0/7162: 81 37 18 change attacker graphic to 7 (jumping) if facing left or 24 (hands up, facing up) if facing right D0/7165: 1F [---] D0/7166: 1F [---] D0/7167: 81 18 37 change attacker graphic to 24 (hands up, facing up) if facing left or 7 (jumping) if facing right D0/716A: 1F [---] D0/716B: 1F [---] D0/716C: 81 07 17 change attacker graphic to 7 (jumping) if facing left or 23 (hands up, facing down) if facing right D0/716F: 1F [---] D0/7170: 1F [---] D0/7171: C0 return from subroutine D0/7172: 81 17 07 change attacker graphic to 23 (hands up, facing down) if facing left or 7 (jumping) if facing right D0/7175: 0F [$0F] D0/7176: 0F [$0F] D0/7177: 81 37 18 change attacker graphic to 7 (jumping) if facing left or 24 (hands up, facing up) if facing right D0/717A: 0F [$0F] D0/717B: 0F [$0F] D0/717C: 81 18 37 change attacker graphic to 24 (hands up, facing up) if facing left or 7 (jumping) if facing right D0/717F: 0F [$0F] D0/7180: 0F [$0F] D0/7181: 81 07 17 change attacker graphic to 7 (jumping) if facing left or 23 (hands up, facing down) if facing right D0/7184: 0F [$0F] D0/7185: 0F [$0F] D0/7186: C0 return from subroutine D0/7187: 81 17 07 change attacker graphic to 23 (hands up, facing down) if facing left or 7 (jumping) if facing right D0/718A: AE 42 update (bg2) hdma scroll data (horizontal) D0/718C: 1F [---] D0/718D: AE 42 update (bg2) hdma scroll data (horizontal) D0/718F: 1F [---] D0/7190: 81 37 18 change attacker graphic to 7 (jumping) if facing left or 24 (hands up, facing up) if facing right D0/7193: AE 42 update (bg2) hdma scroll data (horizontal) D0/7195: 1F [---] D0/7196: AE 42 update (bg2) hdma scroll data (horizontal) D0/7198: 1F [---] D0/7199: 81 18 37 change attacker graphic to 24 (hands up, facing up) if facing left or 7 (jumping) if facing right D0/719C: AE 42 update (bg2) hdma scroll data (horizontal) D0/719E: 1F [---] D0/719F: AE 42 update (bg2) hdma scroll data (horizontal) D0/71A1: 1F [---] D0/71A2: 81 07 17 change attacker graphic to 7 (jumping) if facing left or 23 (hands up, facing down) if facing right D0/71A5: AE 42 update (bg2) hdma scroll data (horizontal) D0/71A7: 1F [---] D0/71A8: AE 42 update (bg2) hdma scroll data (horizontal) D0/71AA: 1F [---] D0/71AB: C0 return from subroutine ; [ Animation Script $01D6: Stunner (sprite) ] D0/71AC: 00 20 speed 1, align to center of character/monster D0/71AE: D1 01 invalidate character/monster sprite priority D0/71B0: C9 00 play default sound effect D0/71B2: 85 move to attacker position D0/71B3: 8E 01 show animation on weapon-hand side of character/monster sprites D0/71B5: 8F 61 move forward 2 if mirrored D0/71B7: 81 07 07 change attacker graphic to 7 (jumping) D0/71BA: B0 20 set background color addition to 0 (blue) D0/71BC: AC 42 48 set (bg2) hdma scroll data (amplitude 8, frequency 2, horizontal) D0/71BF: 83 FC move up/back 29 D0/71C1: B5 24 increase background color addition by 4 (blue) D0/71C3: AE 42 update (bg2) hdma scroll data (horizontal) D0/71C5: 00 [$00] D0/71C6: 83 69 move forward 10 D0/71C8: 83 C5 move up 6 D0/71CA: B5 24 increase background color addition by 4 (blue) D0/71CC: AE 42 update (bg2) hdma scroll data (horizontal) D0/71CE: 01 [$01] D0/71CF: 83 7F move forward 32 D0/71D1: 83 68 move forward 9 D0/71D3: 83 26 move down 7 D0/71D5: B5 24 increase background color addition by 4 (blue) D0/71D7: AE 42 update (bg2) hdma scroll data (horizontal) D0/71D9: 02 [$02] D0/71DA: 83 23 move down 4 D0/71DC: 83 65 move forward 6 D0/71DE: B5 24 increase background color addition by 4 (blue) D0/71E0: AE 42 update (bg2) hdma scroll data (horizontal) D0/71E2: 03 [$03] D0/71E3: 83 3F move down 32 D0/71E5: 83 2E move down 15 D0/71E7: 83 86 move back 7 D0/71E9: B5 24 increase background color addition by 4 (blue) D0/71EB: AE 42 update (bg2) hdma scroll data (horizontal) D0/71ED: 04 [$04] D0/71EE: 83 24 move down 5 D0/71F0: 83 89 move back 10 D0/71F2: B5 24 increase background color addition by 4 (blue) D0/71F4: AE 42 update (bg2) hdma scroll data (horizontal) D0/71F6: 05 [$05] D0/71F7: 83 89 move back 10 D0/71F9: 83 9F move back 32 D0/71FB: 83 C5 move up 6 D0/71FD: B5 24 increase background color addition by 4 (blue) D0/71FF: AE 42 update (bg2) hdma scroll data (horizontal) D0/7201: 06 [$06] D0/7202: 83 C2 move up 3 D0/7204: 83 84 move back 5 D0/7206: B5 24 increase background color addition by 4 (blue) D0/7208: AE 42 update (bg2) hdma scroll data (horizontal) D0/720A: 07 [$07] D0/720B: 83 B2 move up/forward 19 D0/720D: 83 70 move forward 17 D0/720F: 83 FC move up/back 29 D0/7211: B5 24 increase background color addition by 4 (blue) D0/7213: AE 42 update (bg2) hdma scroll data (horizontal) D0/7215: 00 [$00] D0/7216: 83 69 move forward 10 D0/7218: 83 C5 move up 6 D0/721A: B5 24 increase background color addition by 4 (blue) D0/721C: AE 42 update (bg2) hdma scroll data (horizontal) D0/721E: 01 [$01] D0/721F: 83 1C move down/forward 29 D0/7221: 83 89 move back 10 D0/7223: 83 25 move down 6 D0/7225: BF 87 71 jump to subroutine $7187 D0/7228: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/722B: 89 14 loop start (20 times) D0/722D: AE 42 update (bg2) hdma scroll data (horizontal) D0/722F: 1F [---] D0/7230: 8A loop end D0/7231: C2 80 unpause bg1 thread D0/7233: 83 F6 move up/back 23 D0/7235: AE 42 update (bg2) hdma scroll data (horizontal) D0/7237: 00 [$00] D0/7238: AE 42 update (bg2) hdma scroll data (horizontal) D0/723A: 00 [$00] D0/723B: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/723E: 83 C5 move up 6 D0/7240: 83 78 move forward 25 D0/7242: AE 42 update (bg2) hdma scroll data (horizontal) D0/7244: 08 [$08] D0/7245: AE 42 update (bg2) hdma scroll data (horizontal) D0/7247: 08 [$08] D0/7248: AE 42 update (bg2) hdma scroll data (horizontal) D0/724A: 09 [$09] D0/724B: AE 42 update (bg2) hdma scroll data (horizontal) D0/724D: 09 [$09] D0/724E: 83 10 move down/forward 17 D0/7250: 83 65 move forward 6 D0/7252: 89 03 loop start (3 times) D0/7254: AE 42 update (bg2) hdma scroll data (horizontal) D0/7256: 02 [$02] D0/7257: 8A loop end D0/7258: 89 10 loop start (16 times) D0/725A: B5 32 decrease background color addition by 2 (blue) D0/725C: AE 42 update (bg2) hdma scroll data (horizontal) D0/725E: 80 3C restore target's color palette D0/7260: 02 [$02] D0/7261: 8A loop end D0/7262: AC 42 46 set (bg2) hdma scroll data (amplitude 6, frequency 2, horizontal) D0/7265: 89 03 loop start (3 times) D0/7267: AE 42 update (bg2) hdma scroll data (horizontal) D0/7269: 1F [---] D0/726A: 8A loop end D0/726B: AC 42 44 set (bg2) hdma scroll data (amplitude 4, frequency 2, horizontal) D0/726E: 89 03 loop start (3 times) D0/7270: AE 42 update (bg2) hdma scroll data (horizontal) D0/7272: 1F [---] D0/7273: 8A loop end D0/7274: AC 42 42 set (bg2) hdma scroll data (amplitude 2, frequency 2, horizontal) D0/7277: 89 03 loop start (3 times) D0/7279: AE 42 update (bg2) hdma scroll data (horizontal) D0/727B: 1F [---] D0/727C: 8A loop end D0/727D: AC 40 40 set (bg2) hdma scroll data (amplitude 0, frequency 0, horizontal) D0/7280: AE 42 update (bg2) hdma scroll data (horizontal) D0/7282: 81 00 00 change attacker graphic to 0 (no action) D0/7285: D1 00 validate character/monster sprite priority D0/7287: FF end of script ; [ Animation Script $01D4: ] D0/7288: 00 80 speed 1, initial position $80 D0/728A: D1 01 invalidate character/monster sprite priority D0/728C: C2 80 unpause bg1 thread D0/728E: CB 81 enable echo sprites (1 frame delay) D0/7290: 80 02 command $80/$02 D0/7292: 85 move to attacker position D0/7293: 95 calculate vector from attacker to target D0/7294: 93 00 move to vector position 0 D0/7296: 83 C7 move up 8 D0/7298: 81 07 07 change attacker graphic to 7 (jumping) D0/729B: 1F [---] D0/729C: A0 08 03 jump forward along vector at speed 8, branch to $729B D0/729F: D1 00 validate character/monster sprite priority D0/72A1: 1F [---] D0/72A2: D1 01 invalidate character/monster sprite priority D0/72A4: 8E 01 show animation on weapon-hand side of character/monster sprites D0/72A6: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/72A9: 83 99 move back 26 D0/72AB: 83 33 move down 20 D0/72AD: 8F 61 move forward 2 if mirrored D0/72AF: 00 [$00] D0/72B0: 00 [$00] D0/72B1: 00 [$00] D0/72B2: 00 [$00] D0/72B3: 83 71 move forward 18 D0/72B5: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/72B8: 01 [$01] D0/72B9: 01 [$01] D0/72BA: 01 [$01] D0/72BB: 01 [$01] D0/72BC: 8E 00 show animation on off-hand side of character/monster sprites D0/72BE: 83 C5 move up 6 D0/72C0: 02 [$02] D0/72C1: 02 [$02] D0/72C2: 02 [$02] D0/72C3: 02 [$02] D0/72C4: 03 [$03] D0/72C5: 03 [$03] D0/72C6: 03 [$03] D0/72C7: 03 [$03] D0/72C8: 89 02 loop start (2 times) D0/72CA: 87 65 move target forward 6 D0/72CC: 1F [---] D0/72CD: 8A loop end D0/72CE: 89 08 loop start (8 times) D0/72D0: 87 62 move target forward 3 D0/72D2: 1F [---] D0/72D3: 87 82 move target back 3 D0/72D5: 1F [---] D0/72D6: 8A loop end D0/72D7: 89 02 loop start (2 times) D0/72D9: 87 85 move target back 6 D0/72DB: 1F [---] D0/72DC: 8A loop end D0/72DD: 83 DF move up 32 D0/72DF: 83 C5 move up 6 D0/72E1: 83 8E move back 15 D0/72E3: 8E 01 show animation on weapon-hand side of character/monster sprites D0/72E5: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/72E8: 8F 61 move forward 2 if mirrored D0/72EA: 86 C2 move attacker up 3 D0/72EC: 86 63 move attacker forward 4 D0/72EE: 83 C2 move up 3 D0/72F0: 83 63 move forward 4 D0/72F2: 04 [$04] D0/72F3: 86 C2 move attacker up 3 D0/72F5: 86 63 move attacker forward 4 D0/72F7: 83 C2 move up 3 D0/72F9: 83 63 move forward 4 D0/72FB: 04 [$04] D0/72FC: 86 C1 move attacker up 2 D0/72FE: 86 63 move attacker forward 4 D0/7300: 83 C1 move up 2 D0/7302: 83 63 move forward 4 D0/7304: 04 [$04] D0/7305: 86 C0 move attacker up 1 D0/7307: 86 63 move attacker forward 4 D0/7309: 83 C0 move up 1 D0/730B: 83 63 move forward 4 D0/730D: 04 [$04] D0/730E: 86 63 move attacker forward 4 D0/7310: 83 63 move forward 4 D0/7312: 04 [$04] D0/7313: 86 21 move attacker down 2 D0/7315: 86 63 move attacker forward 4 D0/7317: 83 21 move down 2 D0/7319: 83 63 move forward 4 D0/731B: 04 [$04] D0/731C: 86 22 move attacker down 3 D0/731E: 86 63 move attacker forward 4 D0/7320: 83 22 move down 3 D0/7322: 83 63 move forward 4 D0/7324: 04 [$04] D0/7325: 86 23 move attacker down 4 D0/7327: 86 63 move attacker forward 4 D0/7329: 83 23 move down 4 D0/732B: 83 63 move forward 4 D0/732D: 04 [$04] D0/732E: 83 CA move up 11 D0/7330: 83 74 move forward 21 D0/7332: 05 [$05] D0/7333: 05 [$05] D0/7334: 06 [$06] D0/7335: 06 [$06] D0/7336: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7339: 83 38 move down 25 D0/733B: 83 7A move forward 27 D0/733D: 89 08 loop start (8 times) D0/733F: 07 [$07] D0/7340: 8A loop end D0/7341: 81 14 14 change attacker graphic to 20 (kneeling) D0/7344: 89 08 loop start (8 times) D0/7346: 87 22 move target down 3 D0/7348: 1F [---] D0/7349: 87 C2 move target up 3 D0/734B: 1F [---] D0/734C: 8A loop end D0/734D: 81 07 07 change attacker graphic to 7 (jumping) D0/7350: 89 13 loop start (19 times) D0/7352: 86 C8 move attacker up 9 D0/7354: 1F [---] D0/7355: 8A loop end D0/7356: 86 9F move attacker back 32 D0/7358: 80 03 command $80/$03 D0/735A: 80 01 command $80/$01 D0/735C: 89 13 loop start (19 times) D0/735E: 86 C8 move attacker up 9 D0/7360: 8A loop end D0/7361: D1 00 validate character/monster sprite priority D0/7363: 89 13 loop start (19 times) D0/7365: 86 28 move attacker down 9 D0/7367: 1F [---] D0/7368: 8A loop end D0/7369: 81 14 14 change attacker graphic to 20 (kneeling) D0/736C: 89 20 loop start (32 times) D0/736E: 1F [---] D0/736F: 8A loop end D0/7370: CB 03 disable echo sprites D0/7372: 81 00 00 change attacker graphic to 0 (no action) D0/7375: FF end of script ; [ Animation Script $01D5: ] D0/7376: 00 A0 speed 1, align to center of screen D0/7378: C4 80 move bg1 thread to this thread's position D0/737A: D0 20 set tile priority to 2 for all character/monster sprites D0/737C: CC FF set bg1 animation palette color subtraction to 31 (black) D0/737E: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/7380: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/7383: 00 [$00] D0/7384: BD A0 hide bg1 thread D0/7386: C9 00 play default sound effect D0/7388: 89 20 loop start (32 times) D0/738A: CF F1 decrease bg1 animation palette color subtraction by 1 (black) D0/738C: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/738F: 00 [$00] D0/7390: 8A loop end D0/7391: 89 40 loop start (64 times) D0/7393: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/7396: 00 [$00] D0/7397: 8A loop end D0/7398: 89 20 loop start (32 times) D0/739A: CF E1 increase bg1 animation palette color subtraction by 1 (black) D0/739C: A3 17 32 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift) D0/739F: 00 [$00] D0/73A0: 8A loop end D0/73A1: FF end of script ; [ Animation Script $01D3: Quadra Slam, Quadra Slice (sprite) ] D0/73A2: 00 80 speed 1, initial position $80 D0/73A4: C5 jump based on swdtech hit ($73AD, $73FB, $7431, $747A) D0/73AD: 80 02 command $80/$02 D0/73AF: 85 move to attacker position D0/73B0: 95 calculate vector from attacker to target D0/73B1: CA 01 double character action speed D0/73B3: 93 00 move to vector position 0 D0/73B5: 8E 01 show animation on weapon-hand side of character/monster sprites D0/73B7: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/73BA: 83 C7 move up 8 D0/73BC: C9 5B play sound effect $5B D0/73BE: 1F [---] D0/73BF: A0 06 03 jump forward along vector at speed 6, branch to $73BE D0/73C2: C2 80 unpause bg1 thread D0/73C4: C9 00 play default sound effect D0/73C6: 8E 01 show animation on weapon-hand side of character/monster sprites D0/73C8: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/73CB: C8 00 change attacker action to 0 (no action) D0/73CD: 8F 61 move forward 2 if mirrored D0/73CF: 83 F6 move up/back 23 D0/73D1: 04 [$04] D0/73D2: 04 [$04] D0/73D3: 04 [$04] D0/73D4: 04 [$04] D0/73D5: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/73D8: 83 CA move up 11 D0/73DA: 83 74 move forward 21 D0/73DC: B0 FF set background color addition to 31 (white) D0/73DE: 05 [$05] D0/73DF: 05 [$05] D0/73E0: 05 [$05] D0/73E1: 05 [$05] D0/73E2: 06 [$06] D0/73E3: 06 [$06] D0/73E4: 06 [$06] D0/73E5: 06 [$06] D0/73E6: 83 36 move down 23 D0/73E8: 83 7A move forward 27 D0/73EA: 89 08 loop start (8 times) D0/73EC: 87 23 move target down 4 D0/73EE: B5 F2 decrease background color addition by 2 (white) D0/73F0: 07 [$07] D0/73F1: 87 C3 move target up 4 D0/73F3: B5 F2 decrease background color addition by 2 (white) D0/73F5: 07 [$07] D0/73F6: 8A loop end D0/73F7: 81 00 00 change attacker graphic to 0 (no action) D0/73FA: FF end of script D0/73FB: CB 81 enable echo sprites (1 frame delay) D0/73FD: 83 C7 move up 8 D0/73FF: BF 65 74 jump to subroutine $7465 D0/7402: B0 5F set background color addition to 31 (green) D0/7404: C8 00 change attacker action to 0 (no action) D0/7406: 80 4F move to attacking character position D0/7408: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/740B: 83 99 move back 26 D0/740D: 83 3B move down 28 D0/740F: 00 [$00] D0/7410: 00 [$00] D0/7411: 83 71 move forward 18 D0/7413: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7416: 01 [$01] D0/7417: 01 [$01] D0/7418: 8E 00 show animation on off-hand side of character/monster sprites D0/741A: 83 C5 move up 6 D0/741C: 02 [$02] D0/741D: 02 [$02] D0/741E: 8F 61 move forward 2 if mirrored D0/7420: 89 04 loop start (4 times) D0/7422: 87 62 move target forward 3 D0/7424: B5 54 decrease background color addition by 4 (green) D0/7426: 03 [$03] D0/7427: 87 82 move target back 3 D0/7429: B5 54 decrease background color addition by 4 (green) D0/742B: 03 [$03] D0/742C: 8A loop end D0/742D: 81 00 00 change attacker graphic to 0 (no action) D0/7430: FF end of script D0/7431: 83 C7 move up 8 D0/7433: BF 65 74 jump to subroutine $7465 D0/7436: B0 3F set background color addition to 31 (blue) D0/7438: C8 00 change attacker action to 0 (no action) D0/743A: 80 4F move to attacking character position D0/743C: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/743F: 83 99 move back 26 D0/7441: 83 3B move down 28 D0/7443: 00 [$00] D0/7444: 00 [$00] D0/7445: 83 71 move forward 18 D0/7447: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/744A: 01 [$01] D0/744B: 01 [$01] D0/744C: 8E 00 show animation on off-hand side of character/monster sprites D0/744E: 83 C5 move up 6 D0/7450: 02 [$02] D0/7451: 02 [$02] D0/7452: 8F 61 move forward 2 if mirrored D0/7454: 89 04 loop start (4 times) D0/7456: 87 62 move target forward 3 D0/7458: B5 34 decrease background color addition by 4 (blue) D0/745A: 03 [$03] D0/745B: 87 82 move target back 3 D0/745D: B5 34 decrease background color addition by 4 (blue) D0/745F: 03 [$03] D0/7460: 8A loop end D0/7461: 81 00 00 change attacker graphic to 0 (no action) D0/7464: FF end of script D0/7465: 8E 01 show animation on weapon-hand side of character/monster sprites D0/7467: 80 3D command $80/$3D D0/7469: C8 26 change attacker action to 38 (jumping/laughing) D0/746B: C9 5B play sound effect $5B D0/746D: 1F [---] D0/746E: C6 command $C6 D0/746F: 06 [$06] D0/7470: 03 [$03] D0/7471: C2 80 unpause bg1 thread D0/7473: 89 10 loop start (16 times) D0/7475: 1F [---] D0/7476: 8A loop end D0/7477: C9 00 play default sound effect D0/7479: C0 return from subroutine D0/747A: 8E 01 show animation on weapon-hand side of character/monster sprites D0/747C: 80 3D command $80/$3D D0/747E: 83 C7 move up 8 D0/7480: C8 26 change attacker action to 38 (jumping/laughing) D0/7482: 1F [---] D0/7483: C6 command $C6 D0/7484: 06 [$06] D0/7485: 03 [$03] D0/7486: C2 80 unpause bg1 thread D0/7488: 89 10 loop start (16 times) D0/748A: 1F [---] D0/748B: 8A loop end D0/748C: C9 00 play default sound effect D0/748E: CB 01 disable echo sprites D0/7490: B0 9F set background color addition to 31 (red) D0/7492: C8 00 change attacker action to 0 (no action) D0/7494: 80 4F move to attacking character position D0/7496: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/7499: 83 99 move back 26 D0/749B: 83 3B move down 28 D0/749D: 00 [$00] D0/749E: 00 [$00] D0/749F: 83 71 move forward 18 D0/74A1: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/74A4: 01 [$01] D0/74A5: 01 [$01] D0/74A6: 8E 00 show animation on off-hand side of character/monster sprites D0/74A8: 83 C5 move up 6 D0/74AA: 02 [$02] D0/74AB: 02 [$02] D0/74AC: 8F 61 move forward 2 if mirrored D0/74AE: 89 04 loop start (4 times) D0/74B0: 87 62 move target forward 3 D0/74B2: B5 94 decrease background color addition by 4 (red) D0/74B4: 03 [$03] D0/74B5: 87 82 move target back 3 D0/74B7: B5 94 decrease background color addition by 4 (red) D0/74B9: 03 [$03] D0/74BA: 8A loop end D0/74BB: 81 00 00 change attacker graphic to 0 (no action) D0/74BE: 80 03 command $80/$03 D0/74C0: 80 00 command $80/$00 D0/74C2: C8 03 change attacker action to 3 (walking back) D0/74C4: 1F [---] D0/74C5: C6 command $C6 D0/74C6: 06 [$06] D0/74C7: 03 [$03] D0/74C8: 80 01 command $80/$01 D0/74CA: C8 26 change attacker action to 38 (jumping/laughing) D0/74CC: 89 08 loop start (8 times) D0/74CE: 1F [---] D0/74CF: 8A loop end D0/74D0: C8 00 change attacker action to 0 (no action) D0/74D2: CA 00 normal character action speed D0/74D4: FF end of script ; [ Animation Script $01D1: Slash (sprite) ] D0/74D5: 00 80 speed 1, initial position $80 D0/74D7: 85 move to attacker position D0/74D8: E7 calculate vector from attacking character to target D0/74D9: AD 06 set bg1 hdma scroll type to 6 D0/74DB: 8E 01 show animation on weapon-hand side of character/monster sprites D0/74DD: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/74E0: 83 9A move back 27 D0/74E2: 83 2B move down 12 D0/74E4: C9 5B play sound effect $5B D0/74E6: 00 [$00] D0/74E7: E5 08 03 18 move character forward along vector at speed 8 and height 24, branch to $74E6 D0/74EB: C2 40 unpause bg3 thread D0/74ED: C9 00 play default sound effect D0/74EF: AC 84 46 set (bg1) hdma scroll data (amplitude 6, frequency 4, horizontal) D0/74F2: 83 70 move forward 17 D0/74F4: B0 FF set background color addition to 31 (white) D0/74F6: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/74F9: 89 07 loop start (7 times) D0/74FB: AE 44 update (bg1) hdma scroll data (horizontal) D0/74FD: B5 F2 decrease background color addition by 2 (white) D0/74FF: 01 [$01] D0/7500: 8A loop end D0/7501: 83 C7 move up 8 D0/7503: 89 07 loop start (7 times) D0/7505: AE 44 update (bg1) hdma scroll data (horizontal) D0/7507: B5 F2 decrease background color addition by 2 (white) D0/7509: 02 [$02] D0/750A: 8A loop end D0/750B: 89 07 loop start (7 times) D0/750D: AE 44 update (bg1) hdma scroll data (horizontal) D0/750F: 03 [$03] D0/7510: 8A loop end D0/7511: AC 81 44 set (bg1) hdma scroll data (amplitude 4, frequency 1, horizontal) D0/7514: AE 44 update (bg1) hdma scroll data (horizontal) D0/7516: 1F [---] D0/7517: 1F [---] D0/7518: AC 81 42 set (bg1) hdma scroll data (amplitude 2, frequency 1, horizontal) D0/751B: AE 44 update (bg1) hdma scroll data (horizontal) D0/751D: 1F [---] D0/751E: 1F [---] D0/751F: AC 81 41 set (bg1) hdma scroll data (amplitude 1, frequency 1, horizontal) D0/7522: AE 44 update (bg1) hdma scroll data (horizontal) D0/7524: 1F [---] D0/7525: 1F [---] D0/7526: 80 25 clear bg1 hdma scroll data D0/7528: 81 37 37 change attacker graphic to 7 (jumping) D0/752B: F7 A0 wait until scanline 160 D0/752D: AD 03 set bg1 hdma scroll type to 3 D0/752F: 1F [---] D0/7530: E6 08 03 18 move character backward along vector at speed 8 and height 24, branch to $752F D0/7534: 81 00 00 change attacker graphic to 0 (no action) D0/7537: FF end of script ; [ Animation Script $01D2: ] D0/7538: 00 20 speed 1, align to center of character/monster D0/753A: D1 01 invalidate character/monster sprite priority D0/753C: AB FF set bg3 animation palette color addition to 31 (white) D0/753E: A5 00 00 42 FF FF 7F 00 init circle at (0,0) D0/7546: C3 move circle to target D0/7547: 89 0F loop start (15 times) D0/7549: B3 F2 decrease bg3 animation palette color addition by 2 (white) D0/754B: A6 00 00 FC move circle (+0,+0) and shrink by 4 D0/754F: A7 update circle D0/7550: 00 [$00] D0/7551: BD 50 hide bg3 thread D0/7553: 8A loop end D0/7554: D1 00 validate character/monster sprite priority D0/7556: FF end of script ; [ Animation Script $01D0: Retort (sprite) ] D0/7557: 00 80 speed 1, initial position $80 D0/7559: 85 move to attacker position D0/755A: E7 calculate vector from attacking character to target D0/755B: 8E 01 show animation on weapon-hand side of character/monster sprites D0/755D: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/7560: 83 F5 move up/back 22 D0/7562: 83 C7 move up 8 D0/7564: C9 5B play sound effect $5B D0/7566: 00 [$00] D0/7567: E5 08 03 18 move character forward along vector at speed 8 and height 24, branch to $7566 D0/756B: C9 65 play sound effect $65 D0/756D: C2 80 unpause bg1 thread D0/756F: 83 D0 move up 17 D0/7571: 83 71 move forward 18 D0/7573: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7576: 01 [$01] D0/7577: 01 [$01] D0/7578: 02 [$02] D0/7579: 02 [$02] D0/757A: 83 1C move down/forward 29 D0/757C: 8F 61 move forward 2 if mirrored D0/757E: 89 10 loop start (16 times) D0/7580: 03 [$03] D0/7581: 8A loop end D0/7582: 81 37 37 change attacker graphic to 7 (jumping) D0/7585: 1F [---] D0/7586: E6 08 03 18 move character backward along vector at speed 8 and height 24, branch to $7585 D0/758A: 81 00 00 change attacker graphic to 0 (no action) D0/758D: FF end of script ; [ Animation Script $01CF: Dispatch (sprite) ] D0/758E: 00 80 speed 1, initial position $80 D0/7590: 85 move to attacker position D0/7591: E7 calculate vector from attacking character to target D0/7592: 8E 01 show animation on weapon-hand side of character/monster sprites D0/7594: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7597: 8F 61 move forward 2 if mirrored D0/7599: 83 D1 move up 18 D0/759B: 83 79 move forward 26 D0/759D: AD 06 set bg1 hdma scroll type to 6 D0/759F: CB 81 enable echo sprites (1 frame delay) D0/75A1: C9 4C play sound effect $4C D0/75A3: 03 [$03] D0/75A4: E5 08 03 18 move character forward along vector at speed 8 and height 24, branch to $75A3 D0/75A8: D1 01 invalidate character/monster sprite priority D0/75AA: C9 00 play default sound effect D0/75AC: AC 84 47 set (bg1) hdma scroll data (amplitude 7, frequency 4, horizontal) D0/75AF: 89 20 loop start (32 times) D0/75B1: AE 44 update (bg1) hdma scroll data (horizontal) D0/75B3: 03 [$03] D0/75B4: 8A loop end D0/75B5: AC 84 45 set (bg1) hdma scroll data (amplitude 5, frequency 4, horizontal) D0/75B8: AE 44 update (bg1) hdma scroll data (horizontal) D0/75BA: 03 [$03] D0/75BB: 03 [$03] D0/75BC: AC 84 43 set (bg1) hdma scroll data (amplitude 3, frequency 4, horizontal) D0/75BF: AE 44 update (bg1) hdma scroll data (horizontal) D0/75C1: 03 [$03] D0/75C2: 03 [$03] D0/75C3: AC 84 41 set (bg1) hdma scroll data (amplitude 1, frequency 4, horizontal) D0/75C6: AE 44 update (bg1) hdma scroll data (horizontal) D0/75C8: 03 [$03] D0/75C9: 03 [$03] D0/75CA: 80 25 clear bg1 hdma scroll data D0/75CC: AD 03 set bg1 hdma scroll type to 3 D0/75CE: D1 00 validate character/monster sprite priority D0/75D0: 81 37 37 change attacker graphic to 7 (jumping) D0/75D3: 1F [---] D0/75D4: E6 08 03 18 move character backward along vector at speed 8 and height 24, branch to $75D3 D0/75D8: 81 00 00 change attacker graphic to 0 (no action) D0/75DB: 89 1F loop start (31 times) D0/75DD: 1F [---] D0/75DE: 8A loop end D0/75DF: CB 01 disable echo sprites D0/75E1: FF end of script ; [ Animation Script $0057: Air Anchor (sprite) ] D0/75E2: 00 20 speed 1, align to center of character/monster D0/75E4: 89 10 loop start (16 times) D0/75E6: 1F [---] D0/75E7: 8A loop end D0/75E8: 85 move to attacker position D0/75E9: 95 calculate vector from attacker to target D0/75EA: DB 02 branch to $75EE if character already stepped forward to attack D0/75EC: 83 77 move forward 24 D0/75EE: C9 00 play default sound effect D0/75F0: 83 23 move down 4 D0/75F2: 01 [$01] D0/75F3: 83 67 move forward 8 D0/75F5: 01 [$01] D0/75F6: 93 00 move to vector position 0 D0/75F8: 01 [$01] D0/75F9: C1 08 03 command $C1 D0/75FC: 87 67 move target forward 8 D0/75FE: 01 [$01] D0/75FF: C1 08 03 command $C1 D0/7602: 89 04 loop start (4 times) D0/7604: 87 60 move target forward 1 D0/7606: 83 60 move forward 1 D0/7608: 1F [---] D0/7609: 87 80 move target back 1 D0/760B: 83 80 move back 1 D0/760D: 1F [---] D0/760E: 8A loop end D0/760F: 87 87 move target back 8 D0/7611: FF end of script ; [ Animation Script $0058: Air Anchor (extra) ] D0/7612: 00 20 speed 1, align to center of character/monster D0/7614: DB 03 branch to $7619 if character already stepped forward to attack D0/7616: BF 19 70 jump to subroutine $7019 D0/7619: 85 move to attacker position D0/761A: 81 15 15 change attacker graphic to 21 (ready) D0/761D: 83 6C move forward 13 D0/761F: 83 24 move down 5 D0/7621: 89 40 loop start (64 times) D0/7623: 00 [$00] D0/7624: 8A loop end D0/7625: 81 00 00 change attacker graphic to 0 (no action) D0/7628: FF end of script ; [ Animation Script $0053: Debilitator (sprite) ] D0/7629: 40 20 speed 5, align to center of character/monster D0/762B: 01 [$01] D0/762C: 02 [$02] D0/762D: 03 [$03] D0/762E: 04 [$04] D0/762F: 05 [$05] D0/7630: FF end of script ; [ Animation Script $0054: Debilitator (bg1) ] D0/7631: 00 20 speed 1, align to center of character/monster D0/7633: BD A0 hide bg1 thread D0/7635: 89 28 loop start (40 times) D0/7637: 0F [$0F] D0/7638: 8A loop end D0/7639: 85 move to attacker position D0/763A: A5 80 4B 01 FF FF 1D 00 init circle at (128,75) D0/7642: A8 move circle to attacker D0/7643: DB 05 branch to $764A if character already stepped forward to attack D0/7645: 83 77 move forward 24 D0/7647: A9 E8 00 move circle (-24,+0) D0/764A: BD 80 show bg1 thread D0/764C: 00 [$00] D0/764D: BD A0 hide bg1 thread D0/764F: 89 20 loop start (32 times) D0/7651: A6 00 00 01 move circle (+0,+0) and grow by 1 D0/7655: A7 update circle D0/7656: A3 23 34 shift colors (2..5) of bg1 animation/esper palette left (3 loops per shift) D0/7659: 00 [$00] D0/765A: 8A loop end D0/765B: 89 40 loop start (64 times) D0/765D: A3 23 34 shift colors (2..5) of bg1 animation/esper palette left (3 loops per shift) D0/7660: 00 [$00] D0/7661: 8A loop end D0/7662: 89 1C loop start (28 times) D0/7664: A6 00 00 FF move circle (+0,+0) and shrink by 1 D0/7668: A7 update circle D0/7669: A3 23 34 shift colors (2..5) of bg1 animation/esper palette left (3 loops per shift) D0/766C: 00 [$00] D0/766D: 8A loop end D0/766E: FF end of script ; [ Animation Script $0055: Debilitator (bg3) ] D0/766F: 00 A0 speed 1, align to center of screen D0/7671: 85 move to attacker position D0/7672: DB 02 branch to $7676 if character already stepped forward to attack D0/7674: 83 77 move forward 24 D0/7676: C9 00 play default sound effect D0/7678: BD 50 hide bg3 thread D0/767A: 89 46 loop start (70 times) D0/767C: 01 [$01] D0/767D: 8A loop end D0/767E: BE F4 set screen mosaic to $F4 D0/7680: BD 40 show bg3 thread D0/7682: 00 [$00] D0/7683: BD 50 hide bg3 thread D0/7685: BE 84 set screen mosaic to $84 D0/7687: BF B6 76 jump to subroutine $76B6 D0/768A: BE 74 set screen mosaic to $74 D0/768C: BF B6 76 jump to subroutine $76B6 D0/768F: BE 64 set screen mosaic to $64 D0/7691: BF B6 76 jump to subroutine $76B6 D0/7694: BE 54 set screen mosaic to $54 D0/7696: BF B6 76 jump to subroutine $76B6 D0/7699: BE 44 set screen mosaic to $44 D0/769B: BF B6 76 jump to subroutine $76B6 D0/769E: BE 34 set screen mosaic to $34 D0/76A0: BF B6 76 jump to subroutine $76B6 D0/76A3: BE 24 set screen mosaic to $24 D0/76A5: BF B6 76 jump to subroutine $76B6 D0/76A8: BE 14 set screen mosaic to $14 D0/76AA: BF B6 76 jump to subroutine $76B6 D0/76AD: BE 00 set screen mosaic to $00 D0/76AF: 89 14 loop start (20 times) D0/76B1: BF B6 76 jump to subroutine $76B6 D0/76B4: 8A loop end D0/76B5: FF end of script D0/76B6: A3 13 18 shift colors (1..4) of bg3 animation palette left (1 loops per shift) D0/76B9: 00 [$00] D0/76BA: 00 [$00] D0/76BB: C0 return from subroutine ; [ Animation Script $0056: Debilitator (extra) ] D0/76BC: 00 20 speed 1, align to center of character/monster D0/76BE: D1 01 invalidate character/monster sprite priority D0/76C0: DB 03 branch to $76C5 if character already stepped forward to attack D0/76C2: BF 19 70 jump to subroutine $7019 D0/76C5: 85 move to attacker position D0/76C6: 83 58 move down/back 25 D0/76C8: 89 A0 loop start (160 times) D0/76CA: 00 [$00] D0/76CB: 8A loop end D0/76CC: D1 00 validate character/monster sprite priority D0/76CE: FF end of script ; [ Animation Script $0050: Chain Saw 1 (sprite) ] D0/76CF: 00 80 speed 1, initial position $80 D0/76D1: DB 03 branch to $76D6 if character already stepped forward to attack D0/76D3: BF 19 70 jump to subroutine $7019 D0/76D6: 81 15 15 change attacker graphic to 21 (ready) D0/76D9: 85 move to attacker position D0/76DA: E7 calculate vector from attacking character to target D0/76DB: 83 6B move forward 12 D0/76DD: 83 24 move down 5 D0/76DF: A3 23 B8 shift colors (2..5) of sprite animation palette left (11 loops per shift) D0/76E2: 00 [$00] D0/76E3: E5 04 06 20 move character forward along vector at speed 4 and height 32, branch to $76DF D0/76E7: C9 00 play default sound effect D0/76E9: 89 02 loop start (2 times) D0/76EB: 83 93 move back 20 D0/76ED: 83 22 move down 3 D0/76EF: 81 03 03 change attacker graphic to 3 (walking down, frame 3) D0/76F2: 86 60 move attacker forward 1 D0/76F4: 83 60 move forward 1 D0/76F6: BF D5 77 jump to subroutine $77D5 D0/76F9: 01 [$01] D0/76FA: BF DB 77 jump to subroutine $77DB D0/76FD: 01 [$01] D0/76FE: BF D5 77 jump to subroutine $77D5 D0/7701: 01 [$01] D0/7702: 83 83 move back 4 D0/7704: 83 C2 move up 3 D0/7706: 81 45 45 change attacker graphic to 21 (ready) D0/7709: 86 60 move attacker forward 1 D0/770B: 83 60 move forward 1 D0/770D: BF DB 77 jump to subroutine $77DB D0/7710: 02 [$02] D0/7711: BF D5 77 jump to subroutine $77D5 D0/7714: 02 [$02] D0/7715: BF DB 77 jump to subroutine $77DB D0/7718: 02 [$02] D0/7719: 83 63 move forward 4 D0/771B: 83 D4 move up 21 D0/771D: 8E 80 show animation behind character/monster sprites D0/771F: 81 10 10 change attacker graphic to 16 (walking up, frame 3) D0/7722: 86 60 move attacker forward 1 D0/7724: 83 60 move forward 1 D0/7726: BF D5 77 jump to subroutine $77D5 D0/7729: 03 [$03] D0/772A: BF DB 77 jump to subroutine $77DB D0/772D: 03 [$03] D0/772E: BF D5 77 jump to subroutine $77D5 D0/7731: 03 [$03] D0/7732: 8E 40 show animation in front of character/monster sprites D0/7734: 83 73 move forward 20 D0/7736: 83 34 move down 21 D0/7738: 81 15 15 change attacker graphic to 21 (ready) D0/773B: 86 60 move attacker forward 1 D0/773D: 83 60 move forward 1 D0/773F: BF DB 77 jump to subroutine $77DB D0/7742: 00 [$00] D0/7743: BF D5 77 jump to subroutine $77D5 D0/7746: 00 [$00] D0/7747: BF DB 77 jump to subroutine $77DB D0/774A: 00 [$00] D0/774B: 8A loop end D0/774C: 89 02 loop start (2 times) D0/774E: 83 93 move back 20 D0/7750: 83 22 move down 3 D0/7752: 81 03 03 change attacker graphic to 3 (walking down, frame 3) D0/7755: 86 80 move attacker back 1 D0/7757: 83 80 move back 1 D0/7759: BF E1 77 jump to subroutine $77E1 D0/775C: 01 [$01] D0/775D: BF E7 77 jump to subroutine $77E7 D0/7760: 01 [$01] D0/7761: BF E1 77 jump to subroutine $77E1 D0/7764: 01 [$01] D0/7765: 83 83 move back 4 D0/7767: 83 C2 move up 3 D0/7769: 81 45 45 change attacker graphic to 21 (ready) D0/776C: 86 80 move attacker back 1 D0/776E: 83 80 move back 1 D0/7770: BF E7 77 jump to subroutine $77E7 D0/7773: 02 [$02] D0/7774: BF E1 77 jump to subroutine $77E1 D0/7777: 02 [$02] D0/7778: BF E7 77 jump to subroutine $77E7 D0/777B: 02 [$02] D0/777C: 83 63 move forward 4 D0/777E: 83 D4 move up 21 D0/7780: 8E 80 show animation behind character/monster sprites D0/7782: 81 10 10 change attacker graphic to 16 (walking up, frame 3) D0/7785: 86 80 move attacker back 1 D0/7787: 83 80 move back 1 D0/7789: BF E1 77 jump to subroutine $77E1 D0/778C: 03 [$03] D0/778D: BF E7 77 jump to subroutine $77E7 D0/7790: 03 [$03] D0/7791: BF E1 77 jump to subroutine $77E1 D0/7794: 03 [$03] D0/7795: 8E 40 show animation in front of character/monster sprites D0/7797: 83 73 move forward 20 D0/7799: 83 34 move down 21 D0/779B: 81 15 15 change attacker graphic to 21 (ready) D0/779E: 86 80 move attacker back 1 D0/77A0: 83 80 move back 1 D0/77A2: BF E7 77 jump to subroutine $77E7 D0/77A5: 00 [$00] D0/77A6: BF E1 77 jump to subroutine $77E1 D0/77A9: 00 [$00] D0/77AA: BF E7 77 jump to subroutine $77E7 D0/77AD: 00 [$00] D0/77AE: 8A loop end D0/77AF: 83 93 move back 20 D0/77B1: 83 22 move down 3 D0/77B3: 81 03 03 change attacker graphic to 3 (walking down, frame 3) D0/77B6: A3 23 B8 shift colors (2..5) of sprite animation palette left (11 loops per shift) D0/77B9: 01 [$01] D0/77BA: A3 23 B8 shift colors (2..5) of sprite animation palette left (11 loops per shift) D0/77BD: 01 [$01] D0/77BE: A3 23 B8 shift colors (2..5) of sprite animation palette left (11 loops per shift) D0/77C1: 01 [$01] D0/77C2: 83 83 move back 4 D0/77C4: 83 C2 move up 3 D0/77C6: 81 45 45 change attacker graphic to 21 (ready) D0/77C9: A3 23 B8 shift colors (2..5) of sprite animation palette left (11 loops per shift) D0/77CC: 02 [$02] D0/77CD: E6 04 06 20 move character backward along vector at speed 4 and height 32, branch to $77C9 D0/77D1: 81 00 00 change attacker graphic to 0 (no action) D0/77D4: FF end of script D0/77D5: 87 60 move target forward 1 D0/77D7: A3 23 B8 shift colors (2..5) of sprite animation palette left (11 loops per shift) D0/77DA: C0 return from subroutine D0/77DB: 87 80 move target back 1 D0/77DD: A3 23 B8 shift colors (2..5) of sprite animation palette left (11 loops per shift) D0/77E0: C0 return from subroutine D0/77E1: 87 60 move target forward 1 D0/77E3: A3 23 B8 shift colors (2..5) of sprite animation palette left (11 loops per shift) D0/77E6: C0 return from subroutine D0/77E7: 87 80 move target back 1 D0/77E9: A3 23 B8 shift colors (2..5) of sprite animation palette left (11 loops per shift) D0/77EC: C0 return from subroutine ; [ Animation Script $004B: AutoCrossbow (bg1) ] D0/77ED: 00 20 speed 1, align to center of character/monster D0/77EF: D1 01 invalidate character/monster sprite priority D0/77F1: F7 A0 wait until scanline 160 D0/77F3: D4 00 00 00 add fixed color to (no layers) D0/77F7: DB 03 branch to $77FC if character already stepped forward to attack D0/77F9: BF 67 70 jump to subroutine $7067 D0/77FC: C9 00 play default sound effect D0/77FE: 85 move to attacker position D0/77FF: 81 15 15 change attacker graphic to 21 (ready) D0/7802: 83 6A move forward 11 D0/7804: 83 23 move down 4 D0/7806: 9F 00 animated loop start (loop once per active thread, increment frame offset each time) D0/7808: 98 02 02 increment frame offset every 2 loops (0..2) D0/780B: 00 [$00] D0/780C: 8A loop end D0/780D: 80 4E clear frame offset D0/780F: 89 10 loop start (16 times) D0/7811: 00 [$00] D0/7812: 8A loop end D0/7813: 81 00 00 change attacker graphic to 0 (no action) D0/7816: D1 00 validate character/monster sprite priority D0/7818: FF end of script ; [ Animation Script $004C: AutoCrossbow (sprite) ] D0/7819: 00 20 speed 1, align to center of character/monster D0/781B: 85 move to attacker position D0/781C: DB 06 branch to $7824 if character already stepped forward to attack D0/781E: 89 07 loop start (7 times) D0/7820: 1F [---] D0/7821: 8A loop end D0/7822: 83 67 move forward 8 D0/7824: C9 00 play default sound effect D0/7826: 94 93 calculate vector from attacker to a random location on target D0/7828: 10 [$10] D0/7829: 02 [$02] D0/782A: 92 08 03 move along vector at speed 8, branch to $7829 D0/782D: 89 08 loop start (8 times) D0/782F: 87 60 move target forward 1 D0/7831: 83 60 move forward 1 D0/7833: 03 [$03] D0/7834: 87 80 move target back 1 D0/7836: 83 80 move back 1 D0/7838: 03 [$03] D0/7839: 8A loop end D0/783A: FF end of script ; [ Animation Script $0052: Flash (sprite) ] D0/783B: 00 20 speed 1, align to center of character/monster D0/783D: D1 01 invalidate character/monster sprite priority D0/783F: DB 03 branch to $7844 if character already stepped forward to attack D0/7841: BF 19 70 jump to subroutine $7019 D0/7844: C9 00 play default sound effect D0/7846: 85 move to attacker position D0/7847: 81 15 15 change attacker graphic to 21 (ready) D0/784A: 83 AF move up/forward 16 D0/784C: 89 10 loop start (16 times) D0/784E: 00 [$00] D0/784F: 8A loop end D0/7850: B0 FF set background color addition to 31 (white) D0/7852: BA C0 set monster color addition to 0 (yellow) D0/7854: 89 10 loop start (16 times) D0/7856: BB C2 increase monster color addition by 2 (yellow) D0/7858: 00 [$00] D0/7859: 8A loop end D0/785A: 89 20 loop start (32 times) D0/785C: B5 F1 decrease background color addition by 1 (white) D0/785E: BB D2 decrease monster color addition by 2 (yellow) D0/7860: 00 [$00] D0/7861: 8A loop end D0/7862: 81 00 00 change attacker graphic to 0 (no action) D0/7865: D1 00 validate character/monster sprite priority D0/7867: FF end of script ; [ Animation Script $004D: NoiseBlaster (sprite) ] D0/7868: 00 20 speed 1, align to center of character/monster D0/786A: 89 20 loop start (32 times) D0/786C: 87 60 move target forward 1 D0/786E: 1F [---] D0/786F: 87 80 move target back 1 D0/7871: 1F [---] D0/7872: 8A loop end D0/7873: FF end of script ; [ Animation Script $004E: NoiseBlaster (extra) ] D0/7874: 00 20 speed 1, align to center of character/monster D0/7876: D1 01 invalidate character/monster sprite priority D0/7878: DB 03 branch to $787D if character already stepped forward to attack D0/787A: BF 19 70 jump to subroutine $7019 D0/787D: 81 15 15 change attacker graphic to 21 (ready) D0/7880: 85 move to attacker position D0/7881: 83 74 move forward 21 D0/7883: 83 CC move up 13 D0/7885: C9 00 play default sound effect D0/7887: AC 44 40 set (bg2) hdma scroll data (amplitude 0, frequency 4, horizontal) D0/788A: AC 42 82 set (bg2) hdma scroll data (amplitude 2, frequency 2, vertical) D0/788D: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/788F: 00 [$00] D0/7890: 00 [$00] D0/7891: 00 [$00] D0/7892: 00 [$00] D0/7893: AC 44 42 set (bg2) hdma scroll data (amplitude 2, frequency 4, horizontal) D0/7896: AC 42 84 set (bg2) hdma scroll data (amplitude 4, frequency 2, vertical) D0/7899: 89 40 loop start (64 times) D0/789B: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/789D: 00 [$00] D0/789E: 8A loop end D0/789F: AC 44 41 set (bg2) hdma scroll data (amplitude 1, frequency 4, horizontal) D0/78A2: AC 42 83 set (bg2) hdma scroll data (amplitude 3, frequency 2, vertical) D0/78A5: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/78A7: 89 03 loop start (3 times) D0/78A9: 00 [$00] D0/78AA: 8A loop end D0/78AB: AC 44 40 set (bg2) hdma scroll data (amplitude 0, frequency 4, horizontal) D0/78AE: AC 42 82 set (bg2) hdma scroll data (amplitude 2, frequency 2, vertical) D0/78B1: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/78B3: 00 [$00] D0/78B4: 00 [$00] D0/78B5: AC 44 81 set (bg2) hdma scroll data (amplitude 1, frequency 4, vertical) D0/78B8: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/78BA: 00 [$00] D0/78BB: 00 [$00] D0/78BC: AC 40 80 set (bg2) hdma scroll data (amplitude 0, frequency 0, vertical) D0/78BF: AE C2 update (bg2) hdma scroll data (horizontal and vertical) D0/78C1: 00 [$00] D0/78C2: 81 00 00 change attacker graphic to 0 (no action) D0/78C5: D1 00 validate character/monster sprite priority D0/78C7: FF end of script ; [ Animation Script $004A: Bio Blaster (bg3) ] D0/78C8: 00 A0 speed 1, align to center of screen D0/78CA: D1 01 invalidate character/monster sprite priority D0/78CC: A5 80 4B 04 DE FF 7F 20 init circle at (128,75) D0/78D4: A8 move circle to attacker D0/78D5: DB 07 branch to $78DE if character already stepped forward to attack D0/78D7: A9 E8 00 move circle (-24,+0) D0/78DA: 89 07 loop start (7 times) D0/78DC: 09 [$09] D0/78DD: 8A loop end D0/78DE: C9 00 play default sound effect D0/78E0: A9 D8 FB move circle (-40,-5) D0/78E3: AD 87 set bg3 hdma scroll type to 7 D0/78E5: AC 21 48 set (bg3) hdma scroll data (amplitude 8, frequency 1, horizontal) D0/78E8: AC 22 82 set (bg3) hdma scroll data (amplitude 2, frequency 2, vertical) D0/78EB: 89 37 loop start (55 times) D0/78ED: A9 FE 00 move circle (-2,+0) D0/78F0: A6 00 00 02 move circle (+0,+0) and grow by 2 D0/78F4: A7 update circle D0/78F5: AE C1 update (bg3) hdma scroll data (horizontal and vertical) D0/78F7: 00 [$00] D0/78F8: 8A loop end D0/78F9: AA E0 set bg3 animation palette color subtraction to 0 (black) D0/78FB: 89 20 loop start (32 times) D0/78FD: B4 E1 increase bg3 animation palette color subtraction by 1 (black) D0/78FF: A6 00 00 01 move circle (+0,+0) and grow by 1 D0/7903: A7 update circle D0/7904: AE C1 update (bg3) hdma scroll data (horizontal and vertical) D0/7906: 00 [$00] D0/7907: 8A loop end D0/7908: 80 24 clear bg3 hdma scroll data D0/790A: AD 85 set bg3 hdma scroll type to 5 D0/790C: D1 00 validate character/monster sprite priority D0/790E: FF end of script ; [ Animation Script $0049: Bio Blaster (sprite) ] D0/790F: 00 20 speed 1, align to center of character/monster D0/7911: DB 03 branch to $7916 if character already stepped forward to attack D0/7913: BF 19 70 jump to subroutine $7019 D0/7916: 85 move to attacker position D0/7917: 81 15 15 change attacker graphic to 21 (ready) D0/791A: 83 6B move forward 12 D0/791C: 83 CB move up 12 D0/791E: 89 40 loop start (64 times) D0/7920: 00 [$00] D0/7921: 8A loop end D0/7922: 81 00 00 change attacker graphic to 0 (no action) D0/7925: FF end of script ; [ Animation Script $0051: Chain Saw 2 (sprite) ] D0/7926: 00 80 speed 1, initial position $80 D0/7928: DB 03 branch to $792D if character already stepped forward to attack D0/792A: BF 19 70 jump to subroutine $7019 D0/792D: E7 calculate vector from attacking character to target D0/792E: 81 15 15 change attacker graphic to 21 (ready) D0/7931: 85 move to attacker position D0/7932: 83 27 move down 8 D0/7934: 83 81 move back 2 D0/7936: FA 45 79 jump to $7945 ; [ Animation Script $004F: Drill (sprite) ] D0/7939: 00 80 speed 1, initial position $80 D0/793B: DB 03 branch to $7940 if character already stepped forward to attack D0/793D: BF 19 70 jump to subroutine $7019 D0/7940: E7 calculate vector from attacking character to target D0/7941: 81 15 15 change attacker graphic to 21 (ready) D0/7944: 85 move to attacker position D0/7945: 83 6C move forward 13 D0/7947: 83 CF move up 16 D0/7949: A3 23 B8 shift colors (2..5) of sprite animation palette left (11 loops per shift) D0/794C: 00 [$00] D0/794D: E5 04 06 20 move character forward along vector at speed 4 and height 32, branch to $7949 D0/7951: C9 00 play default sound effect D0/7953: 89 08 loop start (8 times) D0/7955: 86 60 move attacker forward 1 D0/7957: 83 60 move forward 1 D0/7959: 87 80 move target back 1 D0/795B: A3 23 B8 shift colors (2..5) of sprite animation palette left (11 loops per shift) D0/795E: 00 [$00] D0/795F: 87 60 move target forward 1 D0/7961: A3 23 B8 shift colors (2..5) of sprite animation palette left (11 loops per shift) D0/7964: 00 [$00] D0/7965: 8A loop end D0/7966: 89 08 loop start (8 times) D0/7968: 86 80 move attacker back 1 D0/796A: 83 80 move back 1 D0/796C: 87 80 move target back 1 D0/796E: A3 23 B8 shift colors (2..5) of sprite animation palette left (11 loops per shift) D0/7971: 00 [$00] D0/7972: 87 60 move target forward 1 D0/7974: A3 23 B8 shift colors (2..5) of sprite animation palette left (11 loops per shift) D0/7977: 00 [$00] D0/7978: 8A loop end D0/7979: A2 40 toggle horizontal flip D0/797B: 81 45 45 change attacker graphic to 21 (ready) D0/797E: 83 79 move forward 26 D0/7980: A3 23 B8 shift colors (2..5) of sprite animation palette left (11 loops per shift) D0/7983: 00 [$00] D0/7984: E6 04 06 20 move character backward along vector at speed 4 and height 32, branch to $7980 D0/7988: 83 99 move back 26 D0/798A: 81 15 15 change attacker graphic to 21 (ready) D0/798D: A2 40 toggle horizontal flip D0/798F: 89 10 loop start (16 times) D0/7991: A3 23 B8 shift colors (2..5) of sprite animation palette left (11 loops per shift) D0/7994: 00 [$00] D0/7995: 8A loop end D0/7996: 81 00 00 change attacker graphic to 0 (no action) D0/7999: FF end of script ; [ Animation Script $0043: ] D0/799A: 00 20 speed 1, align to center of character/monster D0/799C: 9A set facing direction to match attacker D0/799D: 89 0E loop start (14 times) D0/799F: 1F [---] D0/79A0: 8A loop end D0/79A1: C9 00 play default sound effect D0/79A3: 80 88 command $80/$88 D0/79A5: 83 6F move forward 16 D0/79A7: 83 27 move down 8 D0/79A9: 89 10 loop start (16 times) D0/79AB: 83 60 move forward 1 D0/79AD: 18 [$18] D0/79AE: 83 80 move back 1 D0/79B0: 18 [$18] D0/79B1: 8A loop end D0/79B2: C2 C0 unpause bg1 thread, unpause bg3 thread D0/79B4: FF end of script ; [ Animation Script $0044: ] D0/79B5: 00 20 speed 1, align to center of character/monster D0/79B7: 9A set facing direction to match attacker D0/79B8: 89 0E loop start (14 times) D0/79BA: 1F [---] D0/79BB: 8A loop end D0/79BC: C9 00 play default sound effect D0/79BE: 80 88 command $80/$88 D0/79C0: 83 70 move forward 17 D0/79C2: 83 27 move down 8 D0/79C4: 89 10 loop start (16 times) D0/79C6: 83 60 move forward 1 D0/79C8: 19 [$19] D0/79C9: 83 80 move back 1 D0/79CB: 19 [$19] D0/79CC: 8A loop end D0/79CD: C2 C0 unpause bg1 thread, unpause bg3 thread D0/79CF: FF end of script ; [ Animation Script $0045: ] D0/79D0: 00 20 speed 1, align to center of character/monster D0/79D2: 89 0E loop start (14 times) D0/79D4: 1F [---] D0/79D5: 8A loop end D0/79D6: C9 C2 play sound effect $C2 D0/79D8: 9A set facing direction to match attacker D0/79D9: 82 04 06 change target graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/79DC: 9C 61 command $9C D0/79DE: 89 10 loop start (16 times) D0/79E0: 80 88 command $80/$88 D0/79E2: 83 6B move forward 12 D0/79E4: 83 37 move down 24 D0/79E6: 1A [$1A] D0/79E7: 8A loop end D0/79E8: 82 00 00 change target graphic to 0 (no action) D0/79EB: C2 C0 unpause bg1 thread, unpause bg3 thread D0/79ED: FF end of script ; [ Animation Script $0046: ] D0/79EE: 00 20 speed 1, align to center of character/monster D0/79F0: 89 0E loop start (14 times) D0/79F2: 1F [---] D0/79F3: 8A loop end D0/79F4: C9 C2 play sound effect $C2 D0/79F6: 9A set facing direction to match attacker D0/79F7: 82 04 06 change target graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/79FA: 9C 61 command $9C D0/79FC: 89 10 loop start (16 times) D0/79FE: 80 88 command $80/$88 D0/7A00: 83 6B move forward 12 D0/7A02: 83 37 move down 24 D0/7A04: 1B [$1B] D0/7A05: 8A loop end D0/7A06: 82 00 00 change target graphic to 0 (no action) D0/7A09: C2 C0 unpause bg1 thread, unpause bg3 thread D0/7A0B: FF end of script ; [ Animation Script $0040: ] D0/7A0C: 00 20 speed 1, align to center of character/monster D0/7A0E: 89 06 loop start (6 times) D0/7A10: 1F [---] D0/7A11: 8A loop end D0/7A12: C9 00 play default sound effect D0/7A14: 82 07 07 change target graphic to 7 (jumping) D0/7A17: 89 10 loop start (16 times) D0/7A19: 1F [---] D0/7A1A: 8A loop end D0/7A1B: 82 00 00 change target graphic to 0 (no action) D0/7A1E: C2 C0 unpause bg1 thread, unpause bg3 thread D0/7A20: FF end of script ; [ Animation Script $0047: ] D0/7A21: 00 20 speed 1, align to center of character/monster D0/7A23: 89 0E loop start (14 times) D0/7A25: 1F [---] D0/7A26: 8A loop end D0/7A27: C9 0D play sound effect $0D D0/7A29: 9B 01 command $9B D0/7A2B: 9A set facing direction to match attacker D0/7A2C: 80 88 command $80/$88 D0/7A2E: 83 2D move down 14 D0/7A30: 83 61 move forward 2 D0/7A32: 82 12 13 change target graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/7A35: 9C 82 command $9C D0/7A37: 9E 40 command $9E D0/7A39: 00 [$00] D0/7A3A: 89 10 loop start (16 times) D0/7A3C: 1C [$1C] D0/7A3D: 8A loop end D0/7A3E: 9B 40 command $9B D0/7A40: 83 22 move down 3 D0/7A42: 83 81 move back 2 D0/7A44: 82 04 06 change target graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7A47: 89 10 loop start (16 times) D0/7A49: 1D [$1D] D0/7A4A: 8A loop end D0/7A4B: 82 00 00 change target graphic to 0 (no action) D0/7A4E: C2 C0 unpause bg1 thread, unpause bg3 thread D0/7A50: FF end of script ; [ Animation Script $0063: ] D0/7A51: 00 20 speed 1, align to center of character/monster D0/7A53: 9A set facing direction to match attacker D0/7A54: 89 07 loop start (7 times) D0/7A56: 1F [---] D0/7A57: 8A loop end D0/7A58: 80 8B command $80/$8B D0/7A5A: 82 06 04 change target graphic to 6 (walking forward, frame 3) if facing left or 4 (walking forward, frame 1) if facing right D0/7A5D: 89 20 loop start (32 times) D0/7A5F: 80 88 command $80/$88 D0/7A61: 83 67 move forward 8 D0/7A63: 83 2F move down 16 D0/7A65: 1E [$1E] D0/7A66: 8A loop end D0/7A67: 82 00 00 change target graphic to 0 (no action) D0/7A6A: C2 C0 unpause bg1 thread, unpause bg3 thread D0/7A6C: FF end of script ; [ Animation Script $0048: ] D0/7A6D: 00 20 speed 1, align to center of character/monster D0/7A6F: 9A set facing direction to match attacker D0/7A70: 89 07 loop start (7 times) D0/7A72: 1F [---] D0/7A73: 8A loop end D0/7A74: 82 06 04 change target graphic to 6 (walking forward, frame 3) if facing left or 4 (walking forward, frame 1) if facing right D0/7A77: C9 A0 play sound effect $A0 D0/7A79: 89 20 loop start (32 times) D0/7A7B: 80 88 command $80/$88 D0/7A7D: 83 67 move forward 8 D0/7A7F: 83 2F move down 16 D0/7A81: 1E [$1E] D0/7A82: 8A loop end D0/7A83: 82 00 00 change target graphic to 0 (no action) D0/7A86: C2 C0 unpause bg1 thread, unpause bg3 thread D0/7A88: FF end of script ; [ Animation Script $0042: ] D0/7A89: F0 20 speed 16, align to center of character/monster D0/7A8B: 80 8B command $80/$8B D0/7A8D: 9A set facing direction to match attacker D0/7A8E: 83 67 move forward 8 D0/7A90: 99 0E change palette to 14 (character 3/crusader 1) D0/7A92: 1D [$1D] D0/7A93: 1D [$1D] D0/7A94: C2 C0 unpause bg1 thread, unpause bg3 thread D0/7A96: FF end of script ; [ Animation Script $0098: ] D0/7A97: 20 00 speed 3, align to bottom of character/monster D0/7A99: 83 88 move back 9 D0/7A9B: 90 00 set animation tile priority to 0 D0/7A9D: 00 [$00] D0/7A9E: 01 [$01] D0/7A9F: 02 [$02] D0/7AA0: 03 [$03] D0/7AA1: 04 [$04] D0/7AA2: 9B 80 command $9B D0/7AA4: 05 [$05] D0/7AA5: 06 [$06] D0/7AA6: 07 [$07] D0/7AA7: 08 [$08] D0/7AA8: 9B 40 command $9B D0/7AAA: 09 [$09] D0/7AAB: 0A [$0A] D0/7AAC: 0B [$0B] D0/7AAD: 0C [$0C] D0/7AAE: 0D [$0D] D0/7AAF: 0E [$0E] D0/7AB0: FF end of script ; [ Animation Script $0002: Whiplash Hit (bg1) ] D0/7AB1: 00 20 speed 1, align to center of character/monster D0/7AB3: F8 BC 7A B8 7A jump to $7ABC ($7AB8 if magitek) D0/7AB8: 89 0C loop start (12 times) D0/7ABA: 0F [$0F] D0/7ABB: 8A loop end D0/7ABC: 89 06 loop start (6 times) D0/7ABE: 0F [$0F] D0/7ABF: 8A loop end D0/7AC0: 80 87 00 play sound effect $00 (pan to thread y position) D0/7AC3: 82 16 16 change target graphic to 22 (hit) D0/7AC6: 8B 05 animated loop start (5 times, increment frame offset each time) D0/7AC8: 00 [$00] D0/7AC9: 8C animated loop end D0/7ACA: 89 08 loop start (8 times) D0/7ACC: 87 60 move target forward 1 D0/7ACE: 0F [$0F] D0/7ACF: 87 80 move target back 1 D0/7AD1: 0F [$0F] D0/7AD2: 8A loop end D0/7AD3: 82 00 00 change target graphic to 0 (no action) D0/7AD6: FF end of script ; [ Animation Script $0003: Whiplash Hit (bg1) ] D0/7AD7: 00 20 speed 1, align to center of character/monster D0/7AD9: F8 E2 7A DE 7A jump to $7AE2 ($7ADE if magitek) D0/7ADE: 89 0C loop start (12 times) D0/7AE0: 0F [$0F] D0/7AE1: 8A loop end D0/7AE2: 89 06 loop start (6 times) D0/7AE4: 0F [$0F] D0/7AE5: 8A loop end D0/7AE6: 80 87 00 play sound effect $00 (pan to thread y position) D0/7AE9: 82 16 16 change target graphic to 22 (hit) D0/7AEC: 8B 06 animated loop start (6 times, increment frame offset each time) D0/7AEE: 00 [$00] D0/7AEF: 8C animated loop end D0/7AF0: 89 08 loop start (8 times) D0/7AF2: 87 60 move target forward 1 D0/7AF4: 0F [$0F] D0/7AF5: 87 80 move target back 1 D0/7AF7: 0F [$0F] D0/7AF8: 8A loop end D0/7AF9: 82 00 00 change target graphic to 0 (no action) D0/7AFC: FF end of script ; [ Animation Script $0004: Whiplash Hit (bg1) ] D0/7AFD: 00 20 speed 1, align to center of character/monster D0/7AFF: F8 08 7B 04 7B jump to $7B08 ($7B04 if magitek) D0/7B04: 89 0C loop start (12 times) D0/7B06: 0F [$0F] D0/7B07: 8A loop end D0/7B08: 89 06 loop start (6 times) D0/7B0A: 0F [$0F] D0/7B0B: 8A loop end D0/7B0C: 80 87 00 play sound effect $00 (pan to thread y position) D0/7B0F: 82 16 16 change target graphic to 22 (hit) D0/7B12: 8B 04 animated loop start (4 times, increment frame offset each time) D0/7B14: 00 [$00] D0/7B15: 00 [$00] D0/7B16: 00 [$00] D0/7B17: 00 [$00] D0/7B18: 8C animated loop end D0/7B19: 89 08 loop start (8 times) D0/7B1B: 87 60 move target forward 1 D0/7B1D: 0F [$0F] D0/7B1E: 87 80 move target back 1 D0/7B20: 0F [$0F] D0/7B21: 8A loop end D0/7B22: 82 00 00 change target graphic to 0 (no action) D0/7B25: FF end of script ; [ Animation Script $0005: Horizontal Weapon Hit (bg1) ] D0/7B26: 00 20 speed 1, align to center of character/monster D0/7B28: F8 31 7B 2D 7B jump to $7B31 ($7B2D if magitek) D0/7B2D: 89 0C loop start (12 times) D0/7B2F: 0F [$0F] D0/7B30: 8A loop end D0/7B31: 89 06 loop start (6 times) D0/7B33: 0F [$0F] D0/7B34: 8A loop end D0/7B35: 80 87 00 play sound effect $00 (pan to thread y position) D0/7B38: 82 16 16 change target graphic to 22 (hit) D0/7B3B: 8B 0B animated loop start (11 times, increment frame offset each time) D0/7B3D: 00 [$00] D0/7B3E: 8C animated loop end D0/7B3F: 89 08 loop start (8 times) D0/7B41: 87 60 move target forward 1 D0/7B43: 0F [$0F] D0/7B44: 87 80 move target back 1 D0/7B46: 0F [$0F] D0/7B47: 8A loop end D0/7B48: 82 00 00 change target graphic to 0 (no action) D0/7B4B: FF end of script ; [ Animation Script $0006: Katana Hit (bg1) ] D0/7B4C: 00 20 speed 1, align to center of character/monster D0/7B4E: F8 57 7B 53 7B jump to $7B57 ($7B53 if magitek) D0/7B53: 89 0C loop start (12 times) D0/7B55: 0F [$0F] D0/7B56: 8A loop end D0/7B57: 89 06 loop start (6 times) D0/7B59: 0F [$0F] D0/7B5A: 8A loop end D0/7B5B: 80 87 00 play sound effect $00 (pan to thread y position) D0/7B5E: 82 16 16 change target graphic to 22 (hit) D0/7B61: 8B 09 animated loop start (9 times, increment frame offset each time) D0/7B63: 00 [$00] D0/7B64: 8C animated loop end D0/7B65: 89 08 loop start (8 times) D0/7B67: 87 60 move target forward 1 D0/7B69: 0F [$0F] D0/7B6A: 87 80 move target back 1 D0/7B6C: 0F [$0F] D0/7B6D: 8A loop end D0/7B6E: 82 00 00 change target graphic to 0 (no action) D0/7B71: FF end of script ; [ Animation Script $0008: Unarmed Hit, Pummel, Revenge, MoogleRush (bg1) ] D0/7B72: 00 20 speed 1, align to center of character/monster D0/7B74: F8 7D 7B 79 7B jump to $7B7D ($7B79 if magitek) D0/7B79: 89 0C loop start (12 times) D0/7B7B: 0F [$0F] D0/7B7C: 8A loop end D0/7B7D: 89 06 loop start (6 times) D0/7B7F: 0F [$0F] D0/7B80: 8A loop end D0/7B81: C9 00 play default sound effect D0/7B83: 82 16 16 change target graphic to 22 (hit) D0/7B86: 8B 0D animated loop start (13 times, increment frame offset each time) D0/7B88: 00 [$00] D0/7B89: 00 [$00] D0/7B8A: 8C animated loop end D0/7B8B: 89 08 loop start (8 times) D0/7B8D: 87 60 move target forward 1 D0/7B8F: 0F [$0F] D0/7B90: 87 80 move target back 1 D0/7B92: 0F [$0F] D0/7B93: 8A loop end D0/7B94: 82 00 00 change target graphic to 0 (no action) D0/7B97: FF end of script ; [ Animation Script $0009: Rod Hit (bg1) ] D0/7B98: 00 20 speed 1, align to center of character/monster D0/7B9A: F8 A3 7B 9F 7B jump to $7BA3 ($7B9F if magitek) D0/7B9F: 89 0C loop start (12 times) D0/7BA1: 0F [$0F] D0/7BA2: 8A loop end D0/7BA3: 89 06 loop start (6 times) D0/7BA5: 0F [$0F] D0/7BA6: 8A loop end D0/7BA7: 80 87 00 play sound effect $00 (pan to thread y position) D0/7BAA: 82 16 16 change target graphic to 22 (hit) D0/7BAD: 8B 0B animated loop start (11 times, increment frame offset each time) D0/7BAF: 00 [$00] D0/7BB0: 00 [$00] D0/7BB1: 8C animated loop end D0/7BB2: 89 08 loop start (8 times) D0/7BB4: 87 60 move target forward 1 D0/7BB6: 0F [$0F] D0/7BB7: 87 80 move target back 1 D0/7BB9: 0F [$0F] D0/7BBA: 8A loop end D0/7BBB: 82 00 00 change target graphic to 0 (no action) D0/7BBE: FF end of script ; [ Animation Script $0001: Sword Hit (bg1) ] D0/7BBF: 00 20 speed 1, align to center of character/monster D0/7BC1: F8 CA 7B C6 7B jump to $7BCA ($7BC6 if magitek) D0/7BC6: 89 0C loop start (12 times) D0/7BC8: 0F [$0F] D0/7BC9: 8A loop end D0/7BCA: 89 06 loop start (6 times) D0/7BCC: 0F [$0F] D0/7BCD: 8A loop end D0/7BCE: 80 87 00 play sound effect $00 (pan to thread y position) D0/7BD1: 82 16 16 change target graphic to 22 (hit) D0/7BD4: 8B 08 animated loop start (8 times, increment frame offset each time) D0/7BD6: 00 [$00] D0/7BD7: 8C animated loop end D0/7BD8: 89 08 loop start (8 times) D0/7BDA: 87 60 move target forward 1 D0/7BDC: 0F [$0F] D0/7BDD: 87 80 move target back 1 D0/7BDF: 0F [$0F] D0/7BE0: 8A loop end D0/7BE1: 82 00 00 change target graphic to 0 (no action) D0/7BE4: FF end of script ; [ Animation Script $0000: Sword Hit (bg1) ] D0/7BE5: 00 20 speed 1, align to center of character/monster D0/7BE7: F8 F0 7B EC 7B jump to $7BF0 ($7BEC if magitek) D0/7BEC: 89 0C loop start (12 times) D0/7BEE: 0F [$0F] D0/7BEF: 8A loop end D0/7BF0: 89 06 loop start (6 times) D0/7BF2: 0F [$0F] D0/7BF3: 8A loop end D0/7BF4: 80 87 00 play sound effect $00 (pan to thread y position) D0/7BF7: 82 16 16 change target graphic to 22 (hit) D0/7BFA: 8B 0D animated loop start (13 times, increment frame offset each time) D0/7BFC: 00 [$00] D0/7BFD: 8C animated loop end D0/7BFE: 89 04 loop start (4 times) D0/7C00: 87 60 move target forward 1 D0/7C02: 0F [$0F] D0/7C03: 87 80 move target back 1 D0/7C05: 0F [$0F] D0/7C06: 8A loop end D0/7C07: 82 00 00 change target graphic to 0 (no action) D0/7C0A: FF end of script ; [ Animation Script $000A: Cards Hit (bg1) ] D0/7C0B: 00 20 speed 1, align to center of character/monster D0/7C0D: F8 16 7C 12 7C jump to $7C16 ($7C12 if magitek) D0/7C12: 89 0C loop start (12 times) D0/7C14: 1F [---] D0/7C15: 8A loop end D0/7C16: 89 17 loop start (23 times) D0/7C18: 1F [---] D0/7C19: 8A loop end D0/7C1A: 91 move to target position D0/7C1B: 83 8F move back 16 D0/7C1D: 83 D7 move up 24 D0/7C1F: 94 93 calculate vector from attacker to a random location on target D0/7C21: 10 [$10] D0/7C22: 04 [$04] D0/7C23: 92 06 03 move along vector at speed 6, branch to $7C22 D0/7C26: C9 8E play sound effect $8E D0/7C28: 89 10 loop start (16 times) D0/7C2A: 05 [$05] D0/7C2B: 8A loop end D0/7C2C: FF end of script ; [ Animation Script $000B: Darts Hit (bg1) ] D0/7C2D: 00 20 speed 1, align to center of character/monster D0/7C2F: F8 38 7C 34 7C jump to $7C38 ($7C34 if magitek) D0/7C34: 89 0E loop start (14 times) D0/7C36: 1F [---] D0/7C37: 8A loop end D0/7C38: 89 07 loop start (7 times) D0/7C3A: 1F [---] D0/7C3B: 8A loop end D0/7C3C: 91 move to target position D0/7C3D: 83 8F move back 16 D0/7C3F: 83 D7 move up 24 D0/7C41: 94 93 calculate vector from attacker to a random location on target D0/7C43: 10 [$10] D0/7C44: 04 [$04] D0/7C45: 92 06 03 move along vector at speed 6, branch to $7C44 D0/7C48: C9 8E play sound effect $8E D0/7C4A: 89 10 loop start (16 times) D0/7C4C: 05 [$05] D0/7C4D: 8A loop end D0/7C4E: FF end of script ; [ Animation Script $000C: Shuriken, Tack Star Hit (bg1) ] D0/7C4F: 00 20 speed 1, align to center of character/monster D0/7C51: F8 5A 7C 56 7C jump to $7C5A ($7C56 if magitek) D0/7C56: 89 10 loop start (16 times) D0/7C58: 1F [---] D0/7C59: 8A loop end D0/7C5A: 89 08 loop start (8 times) D0/7C5C: 1F [---] D0/7C5D: 8A loop end D0/7C5E: 91 move to target position D0/7C5F: 83 EF move up/back 16 D0/7C61: 94 93 calculate vector from attacker to a random location on target D0/7C63: 10 [$10] D0/7C64: 00 [$00] D0/7C65: 92 06 03 move along vector at speed 6, branch to $7C64 D0/7C68: C9 94 play sound effect $94 D0/7C6A: 89 10 loop start (16 times) D0/7C6C: 04 [$04] D0/7C6D: 8A loop end D0/7C6E: FF end of script ; [ Animation Script $0035: Boomerang, Wing Edge Hit (bg1) ] D0/7C6F: 00 20 speed 1, align to center of character/monster D0/7C71: F8 7A 7C 76 7C jump to $7C7A ($7C76 if magitek) D0/7C76: 89 0E loop start (14 times) D0/7C78: 1F [---] D0/7C79: 8A loop end D0/7C7A: 89 07 loop start (7 times) D0/7C7C: 1F [---] D0/7C7D: 8A loop end D0/7C7E: 91 move to target position D0/7C7F: 83 C8 move up 9 D0/7C81: 83 86 move back 7 D0/7C83: 83 70 move forward 17 D0/7C85: 97 calculate boomerang vector from attacker to target D0/7C86: 00 [$00] D0/7C87: 98 02 06 increment frame offset every 2 loops (0..6) D0/7C8A: 00 [$00] D0/7C8B: 96 02 move along boomerang vector, branch to $7C8A D0/7C8D: 06 [$06] D0/7C8E: FF end of script ; [ Animation Script $0034: Full Moon, Rising Sun Hit (bg1) ] D0/7C8F: 00 20 speed 1, align to center of character/monster D0/7C91: F8 9A 7C 96 7C jump to $7C9A ($7C96 if magitek) D0/7C96: 89 0E loop start (14 times) D0/7C98: 1F [---] D0/7C99: 8A loop end D0/7C9A: 89 07 loop start (7 times) D0/7C9C: 1F [---] D0/7C9D: 8A loop end D0/7C9E: 91 move to target position D0/7C9F: 83 8F move back 16 D0/7CA1: 83 D7 move up 24 D0/7CA3: 97 calculate boomerang vector from attacker to target D0/7CA4: 04 [$04] D0/7CA5: 00 [$00] D0/7CA6: 96 02 move along boomerang vector, branch to $7CA5 D0/7CA8: 03 [$03] D0/7CA9: FF end of script ; [ Animation Script $000F: Boomerang, Wing Edge (sprite) ] D0/7CAA: 00 20 speed 1, align to center of character/monster D0/7CAC: 8E 01 show animation on weapon-hand side of character/monster sprites D0/7CAE: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/7CB1: 83 E6 move up/back 7 D0/7CB3: BF 03 71 jump to subroutine $7103 D0/7CB6: C9 00 play default sound effect D0/7CB8: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7CBB: 1F [---] D0/7CBC: FF end of script ; [ Animation Script $0010: Cards (sprite) ] D0/7CBD: 00 20 speed 1, align to center of character/monster D0/7CBF: 8E 01 show animation on weapon-hand side of character/monster sprites D0/7CC1: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/7CC4: 83 81 move back 2 D0/7CC6: 83 F6 move up/back 23 D0/7CC8: BF 30 71 jump to subroutine $7130 D0/7CCB: 89 01 loop start (1 times) D0/7CCD: 81 17 18 change attacker graphic to 23 (hands up, facing down) if facing left or 24 (hands up, facing up) if facing right D0/7CD0: 1F [---] D0/7CD1: 1F [---] D0/7CD2: 81 37 07 change attacker graphic to 7 (jumping) D0/7CD5: 1F [---] D0/7CD6: 1F [---] D0/7CD7: 81 18 17 change attacker graphic to 24 (hands up, facing up) if facing left or 23 (hands up, facing down) if facing right D0/7CDA: 1F [---] D0/7CDB: 1F [---] D0/7CDC: 81 07 37 change attacker graphic to 7 (jumping) D0/7CDF: 1F [---] D0/7CE0: 1F [---] D0/7CE1: 8A loop end D0/7CE2: C9 00 play default sound effect D0/7CE4: 83 70 move forward 17 D0/7CE6: 83 16 move down/forward 23 D0/7CE8: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7CEB: 01 [$01] D0/7CEC: 01 [$01] D0/7CED: 01 [$01] D0/7CEE: 01 [$01] D0/7CEF: 02 [$02] D0/7CF0: 02 [$02] D0/7CF1: 02 [$02] D0/7CF2: 02 [$02] D0/7CF3: 8E 00 show animation on off-hand side of character/monster sprites D0/7CF5: 03 [$03] D0/7CF6: 03 [$03] D0/7CF7: 03 [$03] D0/7CF8: 03 [$03] D0/7CF9: FF end of script ; [ Animation Script $002F: Shuriken, Tack Star (sprite) ] D0/7CFA: 00 20 speed 1, align to center of character/monster D0/7CFC: 8E 01 show animation on weapon-hand side of character/monster sprites D0/7CFE: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/7D01: 83 81 move back 2 D0/7D03: 83 F6 move up/back 23 D0/7D05: BF 03 71 jump to subroutine $7103 D0/7D08: C9 00 play default sound effect D0/7D0A: 83 70 move forward 17 D0/7D0C: 83 16 move down/forward 23 D0/7D0E: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7D11: 01 [$01] D0/7D12: 01 [$01] D0/7D13: 01 [$01] D0/7D14: 01 [$01] D0/7D15: 02 [$02] D0/7D16: 02 [$02] D0/7D17: 02 [$02] D0/7D18: 02 [$02] D0/7D19: 8E 00 show animation on off-hand side of character/monster sprites D0/7D1B: 03 [$03] D0/7D1C: 03 [$03] D0/7D1D: 03 [$03] D0/7D1E: 03 [$03] D0/7D1F: FF end of script ; [ Animation Script $0013: Darts (sprite) ] D0/7D20: 00 20 speed 1, align to center of character/monster D0/7D22: 8E 01 show animation on weapon-hand side of character/monster sprites D0/7D24: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/7D27: 83 81 move back 2 D0/7D29: 83 F6 move up/back 23 D0/7D2B: BF 03 71 jump to subroutine $7103 D0/7D2E: C9 00 play default sound effect D0/7D30: 83 70 move forward 17 D0/7D32: 83 16 move down/forward 23 D0/7D34: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7D37: 01 [$01] D0/7D38: 01 [$01] D0/7D39: 01 [$01] D0/7D3A: 01 [$01] D0/7D3B: 02 [$02] D0/7D3C: 02 [$02] D0/7D3D: 02 [$02] D0/7D3E: 02 [$02] D0/7D3F: 8E 00 show animation on off-hand side of character/monster sprites D0/7D41: 03 [$03] D0/7D42: 03 [$03] D0/7D43: 03 [$03] D0/7D44: 03 [$03] D0/7D45: FF end of script ; [ Animation Script $0022: Imperial, Kodachi, Blossom - Back Hand (sprite) ] D0/7D46: 00 20 speed 1, align to center of character/monster D0/7D48: 8E 01 show animation on weapon-hand side of character/monster sprites D0/7D4A: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/7D4D: 83 2E move down 15 D0/7D4F: 83 66 move forward 7 D0/7D51: BF 03 71 jump to subroutine $7103 D0/7D54: C9 00 play default sound effect D0/7D56: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7D59: 83 CE move up 15 D0/7D5B: 01 [$01] D0/7D5C: 01 [$01] D0/7D5D: 01 [$01] D0/7D5E: 01 [$01] D0/7D5F: 02 [$02] D0/7D60: 02 [$02] D0/7D61: 02 [$02] D0/7D62: 02 [$02] D0/7D63: 83 C7 move up 8 D0/7D65: 8E 40 show animation in front of character/monster sprites D0/7D67: 03 [$03] D0/7D68: 03 [$03] D0/7D69: 03 [$03] D0/7D6A: 03 [$03] D0/7D6B: FF end of script ; [ Animation Script $0021: Imperial, Kodachi, Blossom - Front Hand (sprite) ] D0/7D6C: 00 20 speed 1, align to center of character/monster D0/7D6E: 8E 01 show animation on weapon-hand side of character/monster sprites D0/7D70: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/7D73: 83 C8 move up 9 D0/7D75: 83 66 move forward 7 D0/7D77: BF 03 71 jump to subroutine $7103 D0/7D7A: C9 00 play default sound effect D0/7D7C: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7D7F: 01 [$01] D0/7D80: 01 [$01] D0/7D81: 01 [$01] D0/7D82: 01 [$01] D0/7D83: 02 [$02] D0/7D84: 02 [$02] D0/7D85: 02 [$02] D0/7D86: 02 [$02] D0/7D87: 83 27 move down 8 D0/7D89: 8E 80 show animation behind character/monster sprites D0/7D8B: 03 [$03] D0/7D8C: 03 [$03] D0/7D8D: 03 [$03] D0/7D8E: 03 [$03] D0/7D8F: FF end of script ; [ Animation Script $0016: Chocobo Brsh (sprite) ] D0/7D90: 00 20 speed 1, align to center of character/monster D0/7D92: 8E 01 show animation on weapon-hand side of character/monster sprites D0/7D94: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/7D97: 83 81 move back 2 D0/7D99: 83 F6 move up/back 23 D0/7D9B: BF 03 71 jump to subroutine $7103 D0/7D9E: C9 00 play default sound effect D0/7DA0: 83 7E move forward 31 D0/7DA2: 83 36 move down 23 D0/7DA4: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7DA7: 01 [$01] D0/7DA8: 01 [$01] D0/7DA9: 01 [$01] D0/7DAA: 01 [$01] D0/7DAB: 83 C7 move up 8 D0/7DAD: 8E 00 show animation on off-hand side of character/monster sprites D0/7DAF: 02 [$02] D0/7DB0: 02 [$02] D0/7DB1: 02 [$02] D0/7DB2: 02 [$02] D0/7DB3: 03 [$03] D0/7DB4: 03 [$03] D0/7DB5: 03 [$03] D0/7DB6: 03 [$03] D0/7DB7: FF end of script ; [ Animation Script $0018: DaVinci Brsh (sprite) ] D0/7DB8: 00 20 speed 1, align to center of character/monster D0/7DBA: 8E 01 show animation on weapon-hand side of character/monster sprites D0/7DBC: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/7DBF: 83 81 move back 2 D0/7DC1: 83 F8 move up/back 25 D0/7DC3: BF 03 71 jump to subroutine $7103 D0/7DC6: C9 00 play default sound effect D0/7DC8: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7DCB: 83 7F move forward 32 D0/7DCD: 01 [$01] D0/7DCE: 01 [$01] D0/7DCF: 02 [$02] D0/7DD0: 02 [$02] D0/7DD1: 83 76 move forward 23 D0/7DD3: 83 2A move down 11 D0/7DD5: 8E 80 show animation behind character/monster sprites D0/7DD7: 8F 61 move forward 2 if mirrored D0/7DD9: 89 10 loop start (16 times) D0/7DDB: 03 [$03] D0/7DDC: 8A loop end D0/7DDD: FF end of script ; [ Animation Script $0019: Flail, Morning Star (sprite) ] D0/7DDE: 00 20 speed 1, align to center of character/monster D0/7DE0: 8E 01 show animation on weapon-hand side of character/monster sprites D0/7DE2: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/7DE5: 83 81 move back 2 D0/7DE7: 83 F6 move up/back 23 D0/7DE9: BF 03 71 jump to subroutine $7103 D0/7DEC: C9 00 play default sound effect D0/7DEE: 83 7F move forward 32 D0/7DF0: 01 [$01] D0/7DF1: 01 [$01] D0/7DF2: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7DF5: 02 [$02] D0/7DF6: 02 [$02] D0/7DF7: 83 72 move forward 19 D0/7DF9: 83 29 move down 10 D0/7DFB: 8E 80 show animation behind character/monster sprites D0/7DFD: 8F 61 move forward 2 if mirrored D0/7DFF: 89 10 loop start (16 times) D0/7E01: 03 [$03] D0/7E02: 8A loop end D0/7E03: FF end of script ; [ Animation Script $0038: Heavy Shield (sprite) ] D0/7E04: 00 20 speed 1, align to center of character/monster D0/7E06: 8E 01 show animation on weapon-hand side of character/monster sprites D0/7E08: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/7E0B: 83 F5 move up/back 22 D0/7E0D: 83 81 move back 2 D0/7E0F: 8F 61 move forward 2 if mirrored D0/7E11: 90 00 set animation tile priority to 0 D0/7E13: BF 03 71 jump to subroutine $7103 D0/7E16: C9 00 play default sound effect D0/7E18: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7E1B: 83 61 move forward 2 D0/7E1D: 83 20 move down 1 D0/7E1F: 01 [$01] D0/7E20: 83 60 move forward 1 D0/7E22: 83 21 move down 2 D0/7E24: 02 [$02] D0/7E25: 83 65 move forward 6 D0/7E27: 83 20 move down 1 D0/7E29: 03 [$03] D0/7E2A: 83 7F move forward 32 D0/7E2C: 83 67 move forward 8 D0/7E2E: 83 21 move down 2 D0/7E30: 04 [$04] D0/7E31: 83 20 move down 1 D0/7E33: 05 [$05] D0/7E34: 83 20 move down 1 D0/7E36: 89 10 loop start (16 times) D0/7E38: 06 [$06] D0/7E39: 8A loop end D0/7E3A: FF end of script ; [ Animation Script $0037: Buckler (sprite) ] D0/7E3B: 00 20 speed 1, align to center of character/monster D0/7E3D: 8E 01 show animation on weapon-hand side of character/monster sprites D0/7E3F: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/7E42: 83 F5 move up/back 22 D0/7E44: 83 81 move back 2 D0/7E46: 90 00 set animation tile priority to 0 D0/7E48: BF 03 71 jump to subroutine $7103 D0/7E4B: C9 00 play default sound effect D0/7E4D: 83 D0 move up 17 D0/7E4F: 83 72 move forward 19 D0/7E51: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7E54: 01 [$01] D0/7E55: 01 [$01] D0/7E56: 02 [$02] D0/7E57: 02 [$02] D0/7E58: 83 C4 move up 5 D0/7E5A: 83 1E move down/forward 31 D0/7E5C: 8F 61 move forward 2 if mirrored D0/7E5E: 89 10 loop start (16 times) D0/7E60: 03 [$03] D0/7E61: 8A loop end D0/7E62: FF end of script ; [ Animation Script $0036: Atma Weapon (sprite) ] D0/7E63: 00 20 speed 1, align to center of character/monster D0/7E65: 8E 01 show animation on weapon-hand side of character/monster sprites D0/7E67: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/7E6A: 83 81 move back 2 D0/7E6C: 83 F6 move up/back 23 D0/7E6E: 90 00 set animation tile priority to 0 D0/7E70: BF 03 71 jump to subroutine $7103 D0/7E73: C9 00 play default sound effect D0/7E75: 83 7E move forward 31 D0/7E77: 83 36 move down 23 D0/7E79: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7E7C: 01 [$01] D0/7E7D: 01 [$01] D0/7E7E: 01 [$01] D0/7E7F: 01 [$01] D0/7E80: 83 C7 move up 8 D0/7E82: 8E 00 show animation on off-hand side of character/monster sprites D0/7E84: 02 [$02] D0/7E85: 02 [$02] D0/7E86: 02 [$02] D0/7E87: 02 [$02] D0/7E88: 03 [$03] D0/7E89: 03 [$03] D0/7E8A: 03 [$03] D0/7E8B: 03 [$03] D0/7E8C: FF end of script ; [ Animation Script $005C: Illumina (sprite) ] D0/7E8D: 00 20 speed 1, align to center of character/monster D0/7E8F: 8E 01 show animation on weapon-hand side of character/monster sprites D0/7E91: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/7E94: 83 F5 move up/back 22 D0/7E96: 83 27 move down 8 D0/7E98: 83 83 move back 4 D0/7E9A: BF 03 71 jump to subroutine $7103 D0/7E9D: C9 00 play default sound effect D0/7E9F: 83 D0 move up 17 D0/7EA1: 83 75 move forward 22 D0/7EA3: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7EA6: 01 [$01] D0/7EA7: 01 [$01] D0/7EA8: 02 [$02] D0/7EA9: 02 [$02] D0/7EAA: 83 1C move down/forward 29 D0/7EAC: 8F 61 move forward 2 if mirrored D0/7EAE: 89 10 loop start (16 times) D0/7EB0: 03 [$03] D0/7EB1: 8A loop end D0/7EB2: FF end of script ; [ Animation Script $001D: Murasame, Aura, Strato, Sky Render (sprite) ] D0/7EB3: 00 20 speed 1, align to center of character/monster D0/7EB5: 8E 01 show animation on weapon-hand side of character/monster sprites D0/7EB7: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/7EBA: 83 F5 move up/back 22 D0/7EBC: BF 03 71 jump to subroutine $7103 D0/7EBF: C9 00 play default sound effect D0/7EC1: 83 D0 move up 17 D0/7EC3: 83 71 move forward 18 D0/7EC5: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7EC8: 01 [$01] D0/7EC9: 01 [$01] D0/7ECA: 02 [$02] D0/7ECB: 02 [$02] D0/7ECC: 83 1C move down/forward 29 D0/7ECE: 8F 61 move forward 2 if mirrored D0/7ED0: 89 10 loop start (16 times) D0/7ED2: 03 [$03] D0/7ED3: 8A loop end D0/7ED4: FF end of script ; [ Animation Script $001E: Drainer, Excalibur, Ragnarok (sprite) ] D0/7ED5: 00 20 speed 1, align to center of character/monster D0/7ED7: 8E 01 show animation on weapon-hand side of character/monster sprites D0/7ED9: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/7EDC: 83 84 move back 5 D0/7EDE: 83 F2 move up/back 19 D0/7EE0: BF 03 71 jump to subroutine $7103 D0/7EE3: C9 00 play default sound effect D0/7EE5: 83 B2 move up/forward 19 D0/7EE7: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7EEA: 01 [$01] D0/7EEB: 01 [$01] D0/7EEC: 02 [$02] D0/7EED: 02 [$02] D0/7EEE: 83 3A move down 27 D0/7EF0: 83 7D move forward 30 D0/7EF2: 8F 61 move forward 2 if mirrored D0/7EF4: 89 10 loop start (16 times) D0/7EF6: 03 [$03] D0/7EF7: 8A loop end D0/7EF8: FF end of script ; [ Animation Script $0024: Unarmed Attack (sprite) ] D0/7EF9: 00 20 speed 1, align to center of character/monster D0/7EFB: 8E 01 show animation on weapon-hand side of character/monster sprites D0/7EFD: 81 12 06 change attacker graphic to 18 (walking forward, frame 2) if facing left or 6 (walking forward, frame 3) if facing right D0/7F00: 83 68 move forward 9 D0/7F02: 83 2B move down 12 D0/7F04: 8F 61 move forward 2 if mirrored D0/7F06: BF 03 71 jump to subroutine $7103 D0/7F09: C9 00 play default sound effect D0/7F0B: 89 08 loop start (8 times) D0/7F0D: 83 81 move back 2 D0/7F0F: 00 [$00] D0/7F10: 83 61 move forward 2 D0/7F12: 00 [$00] D0/7F13: 8A loop end D0/7F14: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7F17: FF end of script ; [ Animation Script $0025: ] D0/7F18: 00 20 speed 1, align to center of character/monster D0/7F1A: 8E 01 show animation on weapon-hand side of character/monster sprites D0/7F1C: 81 12 06 change attacker graphic to 18 (walking forward, frame 2) if facing left or 6 (walking forward, frame 3) if facing right D0/7F1F: 83 69 move forward 10 D0/7F21: 83 2C move down 13 D0/7F23: 8F 61 move forward 2 if mirrored D0/7F25: BF 03 71 jump to subroutine $7103 D0/7F28: C9 00 play default sound effect D0/7F2A: BF 31 7F jump to subroutine $7F31 D0/7F2D: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7F30: FF end of script D0/7F31: 89 04 loop start (4 times) D0/7F33: 83 80 move back 1 D0/7F35: 87 62 move target forward 3 D0/7F37: 00 [$00] D0/7F38: 83 60 move forward 1 D0/7F3A: 87 82 move target back 3 D0/7F3C: 00 [$00] D0/7F3D: 83 C2 move up 3 D0/7F3F: 83 80 move back 1 D0/7F41: 87 62 move target forward 3 D0/7F43: 01 [$01] D0/7F44: 83 60 move forward 1 D0/7F46: 87 62 move target forward 3 D0/7F48: 01 [$01] D0/7F49: 83 80 move back 1 D0/7F4B: 87 82 move target back 3 D0/7F4D: 02 [$02] D0/7F4E: 83 60 move forward 1 D0/7F50: 87 82 move target back 3 D0/7F52: 02 [$02] D0/7F53: 83 22 move down 3 D0/7F55: 8A loop end D0/7F56: C0 return from subroutine ; [ Animation Script $002D: Mithril Pike, Stout Spear, Gold Lance (sprite) ] D0/7F57: 00 20 speed 1, align to center of character/monster D0/7F59: 8E 80 show animation behind character/monster sprites D0/7F5B: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7F5E: 83 7A move forward 27 D0/7F60: 83 C6 move up 7 D0/7F62: BF 30 71 jump to subroutine $7130 D0/7F65: C9 00 play default sound effect D0/7F67: 00 [$00] D0/7F68: 00 [$00] D0/7F69: 89 10 loop start (16 times) D0/7F6B: 01 [$01] D0/7F6C: 8A loop end D0/7F6D: FF end of script ; [ Animation Script $0032: Mithril Claw, Fire Knuckle, Dragon Claw - Front Hand (sprite) ] D0/7F6E: 00 20 speed 1, align to center of character/monster D0/7F70: 8E 01 show animation on weapon-hand side of character/monster sprites D0/7F72: 81 12 13 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right D0/7F75: 83 81 move back 2 D0/7F77: 83 F4 move up/back 21 D0/7F79: BF 03 71 jump to subroutine $7103 D0/7F7C: C9 00 play default sound effect D0/7F7E: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7F81: 8F 01 move down/forward 2 if mirrored D0/7F83: 83 10 move down/forward 17 D0/7F85: 83 75 move forward 22 D0/7F87: 01 [$01] D0/7F88: 01 [$01] D0/7F89: 01 [$01] D0/7F8A: 01 [$01] D0/7F8B: 02 [$02] D0/7F8C: 02 [$02] D0/7F8D: 02 [$02] D0/7F8E: 02 [$02] D0/7F8F: 83 68 move forward 9 D0/7F91: 83 C2 move up 3 D0/7F93: 89 10 loop start (16 times) D0/7F95: 03 [$03] D0/7F96: 8A loop end D0/7F97: FF end of script ; [ Animation Script $0028: Heal Rod, Mithril Rod, Fire Rod, Ice Rod, Thunder Rod, Poison Rod, Pearl Rod, Gravity Rod, Magus Rod (sprite) ] D0/7F98: 00 20 speed 1, align to center of character/monster D0/7F9A: 8E 01 show animation on weapon-hand side of character/monster sprites D0/7F9C: 81 04 06 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right D0/7F9F: 83 72 move forward 19 D0/7FA1: 83 CA move up 11 D0/7FA3: BF 30 71 jump to subroutine $7130 D0/7FA6: C9 00 play default sound effect D0/7FA8: 84 04 set animation speed to 5 D0/7FAA: 89 02 loop start (2 times) D0/7FAC: 00 [$00] D0/7FAD: 01 [$01] D0/7FAE: 8A loop end D0/7FAF: 02 [$02] D0/7FB0: 03 [$03] D0/7FB1: FF end of script 367 undecoded command(s) Program ended with exit code: 0